国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現(xiàn)圖片批量壓縮程序

2020-02-15 22:30:08
字體:
來源:轉載
供稿:網(wǎng)友

 本文實例為大家分享了python實現(xiàn)圖片批量壓縮程序的具體代碼,供大家參考,具體內(nèi)容如下

說明

運行環(huán)境:Win10 Pycharm 程序沒有用到面向對象編程方法,只是簡單的面向過程設計 用到的模塊:PIL、os、sys 使用方法: 在Pycharm的terminal中輸入”python xxx.py source_dir dest_dir”就可以把source_dir中的圖片文件進行壓縮并保存到dest_dir中

源碼

from PIL import Imageimport osimport sys# 定義可以識別的圖片文件類型,可以自行擴充valid_file_type = ['.jpg', '.png']# 定義壓縮比,數(shù)值越大,壓縮越小SIZE_normal = 1.0SIZE_small = 1.5SIZE_more_small = 2.0def make_directory(directory):  """創(chuàng)建目錄"""  os.makedirs(directory)def directory_exists(directory):  """判斷目錄是否存在"""  if os.path.exists(directory):    return True  else:    return Falsedef list_img_file(directory):  """列出目錄下所有文件,并篩選出圖片文件列表返回"""  old_list = os.listdir(directory)  # print old_list  new_list = []  for filename in old_list:    if os.path.isfile(filename):      f, e = os.path.splitext(filename)      if e in valid_file_type:        new_list.append(filename)      else:        pass    else:      pass  # print new_list  return new_listdef print_help():  print """  This program helps compress many image files  you can choose which scale you want to compress your img(jpg/png/etc)  1) normal compress(4M to 1M around)  2) small compress(4M to 500K around)  3) smaller compress(4M to 300K around)  """def compress(choose, des_dir, file_list):  """壓縮算法,img.thumbnail對圖片進行壓縮,還可以改變寬高數(shù)值進行壓縮"""  if choose == '1':    scale = SIZE_normal  if choose == '2':    scale = SIZE_small  if choose == '3':    scale = SIZE_more_small  for infile in file_list:    img = Image.open(infile)    # size_of_file = os.path.getsize(infile)    w, h = img.size    img.thumbnail((int(w/scale), int(h/scale)))    img.save(des_dir + '/' + infile)if __name__ == "__main__":  src_dir, des_dir = sys.argv[1], sys.argv[2]  if directory_exists(src_dir):    if not directory_exists(des_dir):      make_directory(des_dir)    # business logic    file_list = list_img_file(src_dir)    # print file_list    if file_list:      print_help()      choose = raw_input("enter your choice:")      compress(choose, des_dir, file_list)    else:      pass  else:    print "source directory not exist!"

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 正阳县| 进贤县| 普定县| 鹤山市| 库尔勒市| 百色市| 永州市| 白水县| 朝阳县| 虞城县| 毕节市| 通海县| 承德县| 迭部县| 达孜县| 宣汉县| 陇川县| 兴仁县| 铜山县| 静乐县| 仁布县| 阜阳市| 南投县| 阆中市| 都兰县| 房山区| 巴青县| 广安市| 郸城县| 云南省| 高要市| 景谷| 岐山县| 抚松县| 河北省| 同德县| 四会市| 呼和浩特市| 崇左市| 攀枝花市| 汾阳市|