前言---昨天中午在百度云上下载了三千多张照片,想将其设为壁纸,但是发现照片的质量参差不齐,有的很大,有的却只有几百K所以就萌生了一个想法能不能对照片进行批量化地操作,筛选出一些质量不高的照片,同时能让照片更加整齐化,进行统一格式的命名。下面我们就来搞事情吧。

 

  1 from __future__ import division   #这里引入浮点数能让 10/3 =3.33333
  2 
  3 import os
  4 
  5 
  6 
  7 #批量化修i该某一文件夹下的照片的文件名
  8 def changeNames():
  9 
 10     newname = input("请输入新文件名的前缀:")
 11 
 12     range1  = input("请输入开始数字:")
 13 
 14     #range2  = input("请输入结束数字:")
 15 
 16     path = input("请输入您想重名的文件所在的路径:")
 17 
 18 
 19     #我们仅仅是想更改照片的文件名,所以需要将常见的文件格式保存起来
 20     pic_type = ['.jpg','.png','.JPG','.PNG','.jpeg']
 21 
 22     #强制类型转换
 23     i = int (range1)
 24 
 25 
 26     #对文件夹下的文件进行遍历
 27     for file in os.listdir(path):
 28 
 29         #if os.path.isfile(file) == True:
 30 
 31             #print(i)
 32 
 33         # 若一个文件名为 1.png 则nanme =1,ext =.png
 34             name, ext = os.path.splitext(file)
 35 
 36 
 37         #将遍历到的文件与我们保存的文件类型进行对比,若是照片格式我们则进行更改操作
 38             if ext in pic_type:
 39 
 40                 Newname = newname + '_' + str(i) + ext
 41 
 42                 file_path = path+'\\'+name + ext
 43 
 44                 Newname_path = path +'\\'+ Newname
 45 
 46                 print(file_path)
 47 
 48                 print(Newname_path)
 49 
 50                 os.rename(file_path,Newname_path)
 51 
 52                 print("修改名字成功!")
 53 
 54                 i = i + 1
 55 
 56 
 57 #筛选出某一文件夹下的质量不高的照片
 58 def deleteUseless():
 59 
 60     path = input("请输入您想删除的文件所在的路径:")
 61 
 62     pic_type = ['.jpg', '.png', '.JPG', '.PNG', '.jpeg']
 63 
 64     save_size = input("请输入您想保留的最小文件大小   [比如您想删除500k以下的文件只需要输入500即可]:")
 65 
 66     print('***********************************************************************')
 67 
 68 
 69 
 70     print('***********************************************************************')
 71 
 72     for file in os.listdir(path):
 73 
 74         #用save_size1保存整形数
 75         save_size1 = int(save_size)
 76 
 77         file_path = path + '\\' + file
 78 
 79         size =(os.path.getsize(file_path))/1024
 80 
 81 
 82 
 83         try:
 84 
 85             if size < save_size1:
 86 
 87                 os.remove(file_path)
 88 
 89                 print('文件小于您的要求所以删除!')
 90 
 91 
 92 
 93             else:
 94 
 95                 print('***********************************************************************')
 96 
 97                 print(file + '的大小是' + str((os.path.getsize(file_path)) / 1024) + 'K' + '大于您想保存的文件大小,所以系统选择保留')
 98 
 99         except :
100 
101             print("Error")
102 
103             print('***********************************************************************')
104 
105 
106 
107 
108 
109 if __name__=='__main__':
110 
111     #changeNames()
112 
113     deleteUseless()

下面就是效果图   这里是还没进行修改的的文件夹修改成功后筛选出质量不高的照片