自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python優(yōu)化圖片實際操作技巧淺析

開發(fā) 后端
Python優(yōu)化圖片的相關(guān)方法在實際應(yīng)用中是一個比較重要的操作技術(shù)。在這里我們將會通過一個比較簡單的代碼示例來為大家詳細介紹一下這一方法。

在一個網(wǎng)站中,會有很多圖片來支持這個頁面獲得更好的用戶體驗。那么如何應(yīng)用更好的方法來優(yōu)化這些圖片,獲得更好的效果呢?今天我們就會為大家介紹一下Python優(yōu)化圖片的相關(guān)方法,以方便大家應(yīng)用。#t#

對于網(wǎng)站中的一些關(guān)鍵的頁面,多重緩存、靜態(tài)化、程序代碼優(yōu)化……之外,為了提高用戶打開頁面的速度,圖片是必須要優(yōu)化的。

 

如何優(yōu)化呢,其實手工優(yōu)化也絕對是值得的,也是最好的方法,但是我寫了一個小腳本,與其說這個腳本的作用是優(yōu)化圖片,

不如說是給出一個參考,就是經(jīng)過圖片優(yōu)化,可以減少網(wǎng)頁多大的體積。

 

那腳本是如何工作呢,原理簡單,大致是找到所有要優(yōu)化的文件,用Pil庫另存到本目錄下的bak文件夾中,這個文件夾要自己先建好哦。

然后統(tǒng)計文件大小,給出結(jié)果,所以說這個腳本是“安全”的。任你運行多次,不會真正會改圖片,只會把同名文件生成到相應(yīng)的bak文件中。

 

Python優(yōu)化圖片代碼如下:

  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3. #Filenam: pic_smaller.py  
  4. #Author zhangyufeng_zz  
  5. import os, sys  
  6. import Image  
  7. error_log = ['']  
  8. size_count = 0 
  9. def get_new_one(pic):  
  10. global error_log  
  11. try:  
  12. im = Image.open(pic)  
  13. print pic, im.format, im.size, im.mode  
  14. # im.show()   
  15. if(im.format == 'JPEG'):  
  16. im.save("bak/" + pic)  
  17. finally:  
  18. error_log.append(pic)  
  19. def get_file_size_string(file1 , file2):  
  20. global error_log, size_count   
  21. if(not os.path.isfile(file1)) or (not os.path.isfile(file2)):  
  22. return 0  
  23. try:  
  24. f1 = os.path.getsize(file1)  
  25. f2 = os.path.getsize(file2)  
  26. size_count += f1 - f2  
  27. f = '%s \t-> \t%s\t%dKB*%dKB \t\t = \t %d KB'%(file1, 
    file2, f1/1024, f2/1024, (f1-f2)/1024)  
  28. print f  
  29. finally:  
  30. error_log.append('no')  
  31. # main  
  32. all = os.listdir('.')  
  33. pics = []  
  34. formats = ['jpg', 'png', 'JPG' , 'PNG']  
  35. for file in os.listdir('.'):  
  36. if os.path.isfile(file):  
  37. for fr in formats:  
  38. if file.find(fr) > 0:  
  39. pics.append(file)  
  40. for pic in pics:  
  41. get_new_one(pic)  
  42. get_file_size_string(pic , 'bak/' + pic)  
  43. print size_count/1024 , 'KB' 

 

 

Python優(yōu)化圖片代碼很簡單,而且只是利用了pil的默認(rèn)圖片質(zhì)量,關(guān)于圖片的質(zhì)量,我還沒找到調(diào)整的方法。

 

 

  1. #!/usr/bin/python  
  2. #-*-coding:utf-8-*-  
  3. #Filenam: get_cnblogs.py  
  4. #Author zhangyufeng_zz  
  5. import os  
  6. import sys  
  7. import re  
  8. from urllib import urlopen  
  9. string = urlopen("http://www.cnblogs.com/AllBloggers.aspx").read()  
  10. #file_object = open('string.txt')  
  11. #--------------------------------------------------  
  12. # try:  
  13. string = file_object.read()  
  14. # finally:  
  15. # file_object.close()  
  16. #--------------------------------------------------   
  17. usr_name = 'amboyna' 
  18. url = "http://www.cnblogs.com" 
  19. usr_length = len(usr_name)  
  20. i = string.count(usr_name)  
  21. r = string.find(usr_name)  
  22. usr_string = string[r - 60 : r + 50]  
  23. name_s = usr_string.find(usr_name + "/\">") + len(usr_name) + 3  
  24. name_e = usr_string.find("</a>&nbsp;")  
  25. name = usr_string[name_s : name_e ]  
  26. small_s = usr_string.find('<small>')  
  27. small_e = usr_string.find('.&nbsp;')  
  28. no = usr_string[small_s + 7 : small_e]  
  29. http_s = usr_string.find(url)  
  30. http = usr_string[ http_s : http_s + len(url) + usr_length + 1 ]  
  31. print '\n'  
  32. print '----------------------------------'  
  33. print 'ID:\t' , usr_name  
  34. print 'NAME:\t' , name  
  35. print 'NO.:\t' , no  
  36. print 'URL:\t' , http  
  37. print '----------------------------------\n' 

 

 

把usr_name 改成你的用戶名就成。以上就是我們?yōu)榇蠹以敿毥榻B的有關(guān)Python優(yōu)化圖片的方法。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-06-11 10:30:38

MySQL編碼

2010-05-17 16:52:14

MySQL limit

2010-05-21 14:56:53

MySQL聯(lián)表查詢優(yōu)化

2010-05-12 11:27:01

MySQL SQL

2010-05-27 16:12:10

MySQL索引

2010-05-26 14:06:44

MySQL查詢

2010-03-10 19:00:20

Pythonnext函

2010-03-09 18:55:27

Python djan

2010-02-03 16:56:20

C++自定義類

2009-09-01 14:45:45

C#創(chuàng)建Excel文件

2010-07-05 12:21:57

SQL Server記

2010-07-06 09:20:30

SQL Server查

2010-12-07 09:20:44

MySQL limit

2010-03-29 10:55:38

Oracle優(yōu)化

2010-03-09 09:32:20

Python網(wǎng)頁爬蟲

2010-01-11 10:19:18

VB.NET啟動外部程

2010-03-12 15:29:19

Pythonexe

2010-05-31 16:17:56

MySQL數(shù)據(jù)庫性能

2010-06-02 13:58:30

MySQL數(shù)據(jù)庫性能

2010-05-27 15:11:44

MySQL保存
點贊
收藏

51CTO技術(shù)棧公眾號