import os import hashlib

def get_ed2k_hash(filepath): with open(filepath, 'rb') as f: filesize = os.path.getsize(filepath) h = hashlib.md5() ed2k_aich = hashlib.md4() chunk_size = 9728000 # 9.28 MB while True: chunk = f.read(chunk_size) if not chunk: break h.update(chunk) ed2k_aich.update(h.digest()) ed2k_hash = h.hexdigest() ed2k_aich = ed2k_aich.hexdigest() ed2k_url = "ed2k://|file|{}|{}|{}|h={}|/".format(os.path.basename(filepath), filesize, ed2k_hash, ed2k_aich) return ed2k_url

if name == 'main': file_list = ['file1.mkv', 'file2.mp4', 'file3.avi'] for file in file_list: filepath = os.path.join(os.getcwd(), file) ed2k_url = get_ed2k_hash(filepath) print(ed2k_url)

利用python3编写一个批量计算文件ed2k的代码格式为ed2kfile文件名文件大小ed2k_hashh=ed2k_aich

原文地址: https://www.cveoy.top/t/topic/bbMk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录