利用python3写一个批量计算文件ed2k的代码格式为ed2kfile文件名文件大小文件Hashh=根Hash
-- coding: utf-8 --
import os import hashlib
def get_file_hash(file_path): """ 计算文件的Hash值 """ with open(file_path, 'rb') as f: sha1obj = hashlib.sha1() sha1obj.update(f.read()) hash_value = sha1obj.hexdigest().upper()
return hash_value
def format_ed2k_link(file_path): """ 格式化文件的ed2k链接 """ file_name = os.path.basename(file_path) file_size = str(os.path.getsize(file_path)) file_hash = get_file_hash(file_path) root_hash = file_hash
ed2k_link = "ed2k://|file|{}|{}|{}|h={}|/".format(file_name, file_size, file_hash, root_hash)
return ed2k_link
if name == "main": # 批量计算文件的ed2k链接 file_list = ['file1.txt', 'file2.mp4', 'file3.pdf'] for file in file_list: file_path = os.path.abspath(file) ed2k_link = format_ed2k_link(file_path) print(ed2k_link)
原文地址: https://www.cveoy.top/t/topic/bbJN 著作权归作者所有。请勿转载和采集!