Python处理今日头条保存的无法打开图片,今日头条web图片转换为JPG图片
1 """ 2 2023年3月31日今日头条的web图片转换为JPG图片 3 """ 4 import os 5 import hashlib 6 import shutil 7 from os import path 8 import sys 9 from PIL import Image 10 11 # 遍历文件夹 12 def walkFile(file): 13 for root, dirs, files in os.walk(file): 14 15 # root 表示当前正在访问的文件夹路径 16 # dirs 表示该文件夹下的子目录名list 17 # files 表示该文件夹下的文件list 18 19 # 遍历文件 20 for f in files: 21 fpath = os.path.join(root,f) 22 fsuffix = os.path.splitext(fpath)[1] 23 if fsuffix=='.py' or fsuffix=='.exe' or fsuffix=='.gif': 24 continue 25 try: 26 img = Image.open(fpath) 27 img.load() 28 fnewName = root+'\\'+get_file_md5(fpath)+fsuffix 29 print(fnewName) 30 img.save(fnewName) 31 if(fpath != fnewName): 32 os.remove(fpath) 33 except Exception as e: 34 print(e) 35 36 37 # 遍历所有的文件夹 38 for d in dirs: 39 print(os.path.join(root,d)) 40 41 42 ##########################公共方法区开始############################################## 43 44 def get_file_md5(file_name): 45 """ 46 计算文件的md5 47 :param file_name: 48 :return: 49 """ 50 m = hashlib.md5() #创建md5对象 51 with open(file_name,'rb') as fobj: 52 while True: 53 data = fobj.read(4096) 54 if not data: 55 break 56 m.update(data) #更新md5对象 57 return m.hexdigest() #返回md5对象 58 59 def get_str_md5(content): 60 """ 61 计算字符串md5 62 :param content: 63 :return: 64 """ 65 m = hashlib.md5(content) #创建md5对象 66 return m.hexdigest() 67 ##########################公共方法区结束############################################## 68 69 70 def main(): 71 walkFile(os.path.realpath('.')) #文件所在目录 D:\py_workspace\mypycode 72 73 74 if __name__ == '__main__': 75 main()