如何查找文件列表的校验和并一起打印

时间:2019-10-24 16:56:45

标签: python checksum

我有一个文件名列表,我希望找到每个文件的校验和并存储在显示[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'

我从未在客户端中创建哪个。 我只希望显示客户端中已经存在的每个文件的校验和

1 个答案:

答案 0 :(得分:2)

代替:

open(fx, 'rb')

使用:

open(os.path.join( path, fx), 'rb')