我有一个文件名列表,我希望找到每个文件的校验和并存储在显示[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'
我从未在客户端中创建哪个。 我只希望显示客户端中已经存在的每个文件的校验和
答案 0 :(得分:2)
代替:
open(fx, 'rb')
使用:
open(os.path.join( path, fx), 'rb')