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()

 

posted @ 2023-04-21 17:17  卡卡之海  阅读(207)  评论(0编辑  收藏  举报