Python 对同一目录中的所有罚款进行MD5哈希-错误:没有这样的文件或目录

Python 对同一目录中的所有罚款进行MD5哈希-错误:没有这样的文件或目录,python,md5,file-not-found,Python,Md5,File Not Found,我想为目录中的每个文件生成md5,但实际上我总是遇到同样的问题: Traceback (most recent call last): File "generate_md5.py", line 43, in <module> generate_dir(argument_path) File "generate_md5.py", line 29, in generate_dir with open(file, "rb") as f: FileNotFoundEr

我想为目录中的每个文件生成md5,但实际上我总是遇到同样的问题:

Traceback (most recent call last):
  File "generate_md5.py", line 43, in <module>
    generate_dir(argument_path)
  File "generate_md5.py", line 29, in generate_dir
    with open(file, "rb") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'test.xsd'

使用
os.list.dir
显示所有文件,然后使用
os.path.join
打开目录中的所有文件:

def generate_dir(argument_path):
    hash_md5 = hashlib.md5()

    for filename in os.listdir(argument_path.path_dir_in):
        with open(os.path.join(argument_path.path_dir_in, filename), "rb") as f:
            for chunk in iter(lambda: f.read(4096), b""):
                hash_md5.update(chunk)
        print("Name :" + filename)
        print(hash_md5.hexdigest())
        file_md5 = GenerateTxt()
        file_md5.write_file_txt([hash_md5.hexdigest()], filename)

使用
os.list.dir
显示所有文件,然后使用
os.path.join
打开目录中的所有文件:

def generate_dir(argument_path):
    hash_md5 = hashlib.md5()

    for filename in os.listdir(argument_path.path_dir_in):
        with open(os.path.join(argument_path.path_dir_in, filename), "rb") as f:
            for chunk in iter(lambda: f.read(4096), b""):
                hash_md5.update(chunk)
        print("Name :" + filename)
        print(hash_md5.hexdigest())
        file_md5 = GenerateTxt()
        file_md5.write_file_txt([hash_md5.hexdigest()], filename)

肯定有个地方有个骗局这件事一直在发生。。。os.listdir只返回文件名,而不是其目录,因此您需要
os.path.join(参数\u path.path\u dir\u in,文件名)
。。。另外,您不应该使用
文件
作为变量名,因为它会隐藏内置项(可能不会破坏任何东西,但形式不好)哦,好的,谢谢,我理解了!“文件”是内置的吗?我们说的是蟒蛇2还是蟒蛇3?肯定有个地方一直在出现这种情况。。。os.listdir只返回文件名,而不是其目录,因此您需要
os.path.join(参数\u path.path\u dir\u in,文件名)
。。。另外,您不应该使用
文件
作为变量名,因为它会隐藏内置项(可能不会破坏任何东西,但形式不好)哦,好的,谢谢,我理解了!“文件”是内置的吗?我们说的是python2还是python3?我建议改为使用pathlib.Path()和pathlib.Path().iterdir()。我建议改为使用pathlib.Path()和pathlib.Path().iterdir()。