我解压缩了大量包含相同名称文件的档案。
它们现在互相覆盖。请帮助我了解如何编写代码,以便在解压缩文件时,副本将获得唯一的名称,并且不会被覆盖。
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)
答案 0 :(得分:0)
只需使用os.path.exists()
(请参阅os.path)就可以确定条件(文件存在)。在这种情况下,您可能希望使用Zipfile.read
将文件读取到内存中,然后使用常规文件操作将其写出,但是要重新命名。