提问者:小点点

Python创建文件的副本,而不是覆盖它


我解包了大量包含同名文件的档案。

它们现在正在覆盖彼此。 请帮助我了解如何制作代码,以便在文件解包时,副本将收到唯一的名称,而不会被覆盖。

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)

共1个答案

匿名用户

您只需使用os.path.exists()(请参阅os.path)就可以识别条件(文件存在)。 如果是这种情况,您可能需要使用zipfile.read将文件读入内存,然后使用正常的文件操作将其写出,但要使用新的名称。