我想为目录中的每个文件生成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'
我不知道问题出在哪里?
parser = ArgumentParser()
parser.add_argument('-idir', '--input_dir', help='directory', dest='path_dir_in')
argument_path = parser.parse_args()
def generate_dir(argument_path):
hash_md5 = hashlib.md5()
for file in os.listdir(argument_path.path_dir_in):
with open(file, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
print("Name :" + file)
print(hash_md5.hexdigest())
file_md5 = GenerateTxt()
file_md5.write_file_txt([hash_md5.hexdigest()], file)
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)