def ReadMD5CSV(): import os, MyDef dropbox_path = '/Users/alicewish/Dropbox' refer_file_name = '漫画图源MD5表.csv' refer_file_path = os.path.join(dropbox_path, refer_file_name) # 词典文件的地址 MD5_refer_dict = MyDef.ReadDictB(refer_file_path, True) MD5_list = [] for file_MD5 in MD5_refer_dict: MD5_list.append(file_MD5) return (MD5_refer_dict, MD5_list)
def MD5Table(file_dir): import time, os, MyDef start_time = time.time() # 初始时间戳 dropbox_path = '/Users/alicewish/Dropbox' refer_file_name = '漫画图源MD5表.csv' refer_file_path = os.path.join(dropbox_path, refer_file_name) # 词典文件的地址 MD5_refer_dict = MyDef.ReadDictB(refer_file_path, True) # print(MD5_refer_dict) file_path_check_set = set() major_key_list = [] output_list = [] # ================读取文件夹内容================ file_list = os.listdir(file_dir) # 获得目录中的内容 # print(file_list) for file_MD5 in MD5_refer_dict: file_path = MD5_refer_dict[file_MD5] file_path_check_set.add(file_path) for file_name in file_list: file_path = os.path.join(file_dir, file_name) if file_path in file_path_check_set: pass else: # file_MD5 = MyDef.HashMD5File(file_path) file_MD5 = MyDef.md5sum(file_path) print(file_MD5, file_name) MD5_refer_dict[file_MD5] = file_path for file_MD5 in MD5_refer_dict: file_path = MD5_refer_dict[file_MD5] file_name = os.path.split(file_path)[1] major_key = file_name + file_MD5 major_key_list.append(major_key) major_key_list.sort() for major_key in major_key_list: file_MD5 = major_key[-32:] info_list = [file_MD5, MD5_refer_dict[file_MD5]] output_list.append(info_list) head_info = ['MD5', '路径'] MyDef.StoreCSV(output_list, refer_file_path, head_info) print(MyDef.RunTime(start_time))
def FileWithLink(): import time, os, MyDef start_time = time.time() # 初始时间戳 # ========================输入区开始======================== output_readline = [] refer_file_path = '/Users/alicewish/Dropbox/漫画图源MD5表.csv' MD5_dict = MyDef.ReadDictC(refer_file_path, True) yun_link_file_path = '/Users/alicewish/Dropbox/漫画图源度盘地址表.csv' yun_link_dict = MyDef.ReadDictB(yun_link_file_path) file_path_list = [] for key in MD5_dict: file_path = MD5_dict[key] file_size = os.path.getsize(file_path) readable_file_size = sizeof_fmt(file_size) file_name = os.path.split(file_path)[1] file_path_list.append(file_path) if file_path in yun_link_dict: yun_link = yun_link_dict[file_path] output_line = "[" + file_name + "](" + yun_link + ") | " + readable_file_size else: output_line = "[" + file_name + "]() | " + readable_file_size print(file_name) # print(output_line) output_readline.append(output_line) output_readline.sort() output_readline.insert(0, '--- | ---') output_readline.insert(0, '文件名 | 大小') for i in range(len(output_readline)): line = output_readline[i] if "]()" in line: line = line[1:].replace("]()", "") output_readline[i] = line # ================写入剪贴板================ output_text = '\r\n'.join(output_readline) MyDef.WriteClip(output_text) print(MyDef.RunTime(start_time))
def ReadMD5SamplingCSV(): import os, MyDef dropbox_path = '/Users/alicewish/Dropbox' refer_file_name = '漫画图源MD5随机分样表.csv' refer_file_path = os.path.join(dropbox_path, refer_file_name) return MyDef.ReadDictB(refer_file_path)