python优化网站_[练习] 用PYTHON来优化网站中的图片
我到公司以來,第一次加班,哇,加一晚上加一上午,現在還沒下班的跡象,555,困。
對于網站中的一些關鍵的頁面,多重緩存、靜態化、程序代碼優化……之外,為了提高用戶打開頁面的速度,圖片是必須要優化的。
如何優化呢,其實手工優化也絕對是值得的,也是最好的方法,但是我寫了一個小腳本,與其說這個腳本的作用是優化圖片,
不如說是給出一個參考,就是經過圖片優化,可以減少網頁多大的體積。
那腳本是如何工作呢,原理簡單,大致是找到所有要優化的文件,用Pil庫另存到本目錄下的bak文件夾中,這個文件夾要自己先建好哦。
然后統計文件大小,給出結果,所以說這個腳本是“安全”的。任你運行多次,不會真正會改圖片,只會把同名文件生成到相應的bak文件中。
代碼如下:
#!/usr/bin/python#-*-coding:utf-8-*-#Filenam:?pic_smaller.py#Author?zhangyufeng_zzimportos,?sysimportImage
error_log=['']
size_count=0##############################################defget_new_one(pic):globalerror_logtry:
im=Image.open(pic)printpic,?im.format,?im.size,?im.mode#im.show()if(im.format=='JPEG'):
im.save("bak/"+pic)finally:
error_log.append(pic)############################################################################################defget_file_size_string(file1?,?file2):globalerror_log,?size_countif(notos.path.isfile(file1))or(notos.path.isfile(file2)):return0try:
f1=os.path.getsize(file1)
f2=os.path.getsize(file2)
size_count+=f1-f2
f='%s?\t->?\t%s\t%dKB*%dKB?\t\t?=?\t?%d?KB'%(file1,?file2,?f1/1024,?f2/1024,?(f1-f2)/1024)printffinally:
error_log.append('no')###############################################mainall=os.listdir('.')
pics=[]
formats=['jpg','png','JPG','PNG']forfileinos.listdir('.'):ifos.path.isfile(file):forfrinformats:iffile.find(fr)>0:
pics.append(file)forpicinpics:
get_new_one(pic)
get_file_size_string(pic?,'bak/'+pic)printsize_count/1024,'KB'
代碼很簡單,而且只是利用了pil的默認圖片質量,關于圖片的質量,我還沒找到調整的方法。
為了感謝來這里看我發這么爛的帖子的人,我“鄭重”推出我自戀的最“雷人工具”----查看博客園排名的腳本 —_—!
#!/usr/bin/python#-*-coding:utf-8-*-#Filenam:?get_cnblogs.py#Author?zhangyufeng_zzimportosimportsysimportrefromurllibimporturlopen
string=urlopen("http://www.cnblogs.com/AllBloggers.aspx").read()#file_object?=?open('string.txt')#--------------------------------------------------#try:#string?=?file_object.read()#finally:#file_object.close()#--------------------------------------------------usr_name='amboyna'url="http://www.cnblogs.com"usr_length=len(usr_name)
i=string.count(usr_name)
r=string.find(usr_name)
usr_string=string[r-60:?r+50]
name_s=usr_string.find(usr_name+"/\">")?+?len(usr_name)?+?3name_e=usr_string.find("?")
name=usr_string[name_s??:?name_e?]
small_s=usr_string.find('')
small_e=usr_string.find('.?')
no=usr_string[small_s+7:?small_e]
http_s=usr_string.find(url)
http=usr_string[?http_s?:?http_s+len(url)+usr_length+1]print'\n'print'----------------------------------'print'ID:\t',?usr_nameprint'NAME:\t',?nameprint'NO.:\t',?noprint'URL:\t',?httpprint'----------------------------------\n'
把usr_name 改成你的用戶名就成,附:我不是不會正則,我看了半晌python的文檔,沒找到如何使用正則的方法,如果哪位大大很明白,請回復一下啊,謝謝。
總結
以上是生活随笔為你收集整理的python优化网站_[练习] 用PYTHON来优化网站中的图片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 登陆 manager app显示不是私密
- 下一篇: 如何将c语言程序封装供python调用_