我有一个文件名列表,我希望找到每个文件的校验和并将其存储在显示[filename,checksum]的列表中。
编程新手,所以我尝试创建一个for循环,从目录中提取文件。然后,我使用hashlib.md5打开文件及其路径,并在校验和旁边打印文件名。
directory = os.listdir(path)
def file_as_bytes(file):
with file:
return file.read()
for fx in directory:
pass
print[(fx, hashlib.md5(file_as_bytes(open(fx, 'rb'))).digest())]
这是我得到的错误:
IOError: [Errno 2] No such file or directory: 'c.txt'
我从未在客户端中创建。我只希望显示客户端中已经存在的每个文件的校验和]
而不是:
open(fx, 'rb')
用途:
open(os.path.join( path, fx), 'rb')