我解包了大量包含同名文件的档案。
它们现在正在覆盖彼此。 请帮助我了解如何制作代码,以便在文件解包时,副本将收到唯一的名称,而不会被覆盖。
for fz in os.listdir(tmp_path):
if fz.endswith('.zip'):
with zf(tmp_path+fz, 'r') as z:
members = z.namelist()
for member in members:
z.extract(member, tmp_path)
您只需使用os.path.exists()
(请参阅os.path)就可以识别条件(文件存在)。 如果是这种情况,您可能需要使用zipfile.read
将文件读入内存,然后使用正常的文件操作将其写出,但要使用新的名称。