python3通过rhash批量计算文件ed2k格式为ed2kfile文件名文件大小ed2k_hashh=ed2k_aich
以下是一个Python3脚本,可以批量计算文件的ed2k链接:
import os
import subprocess
import hashlib
# 设置rhash路径
rhash_path = "/usr/bin/rhash"
# 设置文件所在目录
dir_path = "/path/to/directory"
# 获取目录下所有文件
files = os.listdir(dir_path)
for file in files:
# 计算文件的ed2k_hash和ed2k_aich
result = subprocess.run([rhash_path, "--ed2k", os.path.join(dir_path, file)], capture_output=True)
output = result.stdout.decode("utf-8")
parts = output.split("\t")
# 获取文件名、文件大小和ed2k_hash
file_name = file
file_size = os.path.getsize(os.path.join(dir_path, file))
ed2k_hash = parts[1]
# 计算ed2k_aich
hasher = hashlib.sha1()
hasher.update(ed2k_hash.encode("utf-8"))
ed2k_aich = hasher.hexdigest()
# 生成ed2k链接
ed2k_link = "ed2k://|file|%s|%d|%s|h=%s|/" % (file_name, file_size, ed2k_hash, ed2k_aich)
# 输出结果
print(ed2k_link)
将上述代码保存为一个.py文件并执行,即可批量计算文件的ed2k链接。其中,需要根据实际情况修改rhash路径和文件所在目录。
原文地址: https://www.cveoy.top/t/topic/bbNM 著作权归作者所有。请勿转载和采集!