前言項(xiàng)目中大量用到圖片加載,由于圖片太大,加載速度很慢,因此需要對(duì)文件進(jìn)行統(tǒng)一壓縮一:導(dǎo)入包fromPILimportImageimportos二:獲取圖片文件的大小defget_size(file):#獲取文件大小:KBsize=os.path.getsize(file)returnsize/1024三:拼接輸出文件地址defget_outfile(infile,outfile):ifoutfile:returnoutfiledir,suffix=os.
系統(tǒng) 2019-09-27 17:46:02 1961
每種語(yǔ)言都有自己的優(yōu)勢(shì),互相結(jié)合起來(lái)各取所長(zhǎng)程序執(zhí)行起來(lái)效率更高或者說(shuō)哪種實(shí)現(xiàn)方式較簡(jiǎn)單就用哪個(gè),nodejs是利用子進(jìn)程來(lái)調(diào)用系統(tǒng)命令或者文件,文檔見(jiàn)http://nodejs.org/api/child_process.html,NodeJS子進(jìn)程提供了與系統(tǒng)交互的重要接口,其主要API有:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出及標(biāo)準(zhǔn)錯(cuò)誤輸出的接口。NodeJS子進(jìn)程提供了與系統(tǒng)交互的重要接口,其主要API有:標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出及標(biāo)準(zhǔn)錯(cuò)誤輸出的接口child.stdin獲
系統(tǒng) 2019-09-27 17:45:59 1961
Python中將數(shù)字格式化時(shí),有些時(shí)候需要將數(shù)字格式化,為了顯示美觀,需要補(bǔ)零。今天在寫代碼時(shí),看見(jiàn)別人的奇怪寫法,覺(jué)得有必要在這里把Python更好的寫法重寫一下。看到的別人的代碼foriinrange(99):num_str=str(i)iflen(num_str)>1:num_str='0'+str(i)print(num_str)看到這段代碼,我的三觀被刷新了。如果補(bǔ)零比較多,確實(shí)代碼的行數(shù)可觀。常見(jiàn)和不常見(jiàn)的格式化補(bǔ)零方法foriinrange(
系統(tǒng) 2019-09-27 17:45:59 1961
概述考慮這樣一個(gè)問(wèn)題,有hello.py腳本,輸出”hello,world!”;有TestInput.py腳本,等待用戶輸入,然后打印用戶輸入的數(shù)據(jù)。那么,怎么樣把hello.py輸出內(nèi)容發(fā)送給TestInput.py,最后TestInput.py打印接收到的”hello,world!”。下面我來(lái)逐步講解一下shell的交互方式。hello.py代碼如下:#!/usr/bin/pythonprint"hello,world!"TestInput.py代碼如
系統(tǒng) 2019-09-27 17:38:38 1961
閉包并不是什么新奇的概念,它早在高級(jí)語(yǔ)言開(kāi)始發(fā)展的年代就產(chǎn)生了。閉包(Closure)是詞法閉包(LexicalClosure)的簡(jiǎn)稱。對(duì)閉包的具體定義有很多種說(shuō)法,這些說(shuō)法大體可以分為兩類:一種說(shuō)法認(rèn)為閉包是符合一定條件的函數(shù),比如參考資源中這樣定義閉包:閉包是在其詞法上下文中引用了自由變量的函數(shù)。另一種說(shuō)法認(rèn)為閉包是由函數(shù)和與其相關(guān)的引用環(huán)境組合而成的實(shí)體。比如參考資源中就有這樣的的定義:在實(shí)現(xiàn)深約束時(shí),需要?jiǎng)?chuàng)建一個(gè)能顯式表示引用環(huán)境的東西,并將它與相
系統(tǒng) 2019-09-27 17:38:28 1961
測(cè)了一下django、flask、bottle、tornado框架本身最簡(jiǎn)單的性能。對(duì)django的性能完全無(wú)語(yǔ)了。django、flask、bottle均使用gunicorn+gevent啟動(dòng),單進(jìn)程,并且關(guān)閉DEBUG,請(qǐng)求均只返回一個(gè)字符串ok。tornado直接自己?jiǎn)?dòng),其他內(nèi)容一致。測(cè)試軟件為siege,測(cè)試os為cenos664位,測(cè)試命令為:復(fù)制代碼代碼如下:siege-c100-r100-bhttp://127.0.0.1:5000/dja
系統(tǒng) 2019-09-27 17:38:25 1961
實(shí)際上,Python提供了with語(yǔ)句來(lái)管理資源關(guān)閉。比如可以把打開(kāi)的文件放在with語(yǔ)句中,這樣with語(yǔ)句就會(huì)幫我們自動(dòng)關(guān)閉文件。with語(yǔ)句的語(yǔ)法格式如下:withcontextexpression[astarget(s)]:with代碼塊在上面的語(yǔ)法格式中,context_expression用于創(chuàng)建可自動(dòng)關(guān)閉的資源。例如,程序使用with語(yǔ)句來(lái)讀取文件:importcodecs#使用with語(yǔ)句打開(kāi)文件,該語(yǔ)句會(huì)負(fù)責(zé)關(guān)閉文件withcodecs.
系統(tǒng) 2019-09-27 17:38:03 1961
①GET#-*-coding:utf-8-*-importrequestsdefget(url,datas=None):response=requests.get(url,params=datas)json=response.json()returnjson注:參數(shù)datas為json格式②POST#-*-coding:utf-8-*-importrequestsdefpost(url,datas=None):response=requests.post(
系統(tǒng) 2019-09-27 17:38:03 1961
異常(exceptions)是Python中一種非常重要的類型,它和語(yǔ)法錯(cuò)誤不同,是在程序運(yùn)行期間引發(fā)的錯(cuò)誤。Python中內(nèi)置了很多異常,如IOError,NameError,KeyboardInterrupt等,更多的異常可以點(diǎn)擊這里。異常的意義在于提供一種更加優(yōu)雅的運(yùn)行方式,例如用Python編寫一個(gè)計(jì)算器,如果用戶輸入不能計(jì)算的對(duì)象,則可以拋出異常,并進(jìn)行處理,如下:whileTrue:try:x=int(input('PleaseInenterA
系統(tǒng) 2019-09-27 17:37:47 1961
if語(yǔ)句>>通用格式if語(yǔ)句一般形式如下:if:elif:else:另外需要注意的是,Python中是沒(méi)有switch/case語(yǔ)句的while循環(huán)while語(yǔ)句是Python語(yǔ)言中最通用的迭代結(jié)構(gòu),簡(jiǎn)而言之,只要頂端測(cè)試一直計(jì)算到真值,就會(huì)重復(fù)執(zhí)行一個(gè)語(yǔ)句塊。>>一般格式while:else:>>break,continue,pass和循環(huán)elsebreak跳出最近所在的循環(huán)(跳過(guò)整個(gè)循環(huán)語(yǔ)句)。continue跳到最近所在循環(huán)的開(kāi)頭處(來(lái)到循環(huán)的首行)
系統(tǒng) 2019-09-27 17:37:45 1961