如何避免文件被覆盖
我们正在使用Python的tarFile库来解压一组文件到目标目录。
tarGzipFile = tarfile.open(fileName)
tarGzipFile.extractall(targetDir + '/')
在这里,如果同一个文件在多个tar.gz文件中都存在,那么在目标目录中这个文件会被覆盖。请问我该如何修改我的代码,以避免这种覆盖?另外,我也想要一个类似于tar --backup none或带编号的选项,这样如果文件已经存在,就能在文件名前加上~或者在文件末尾加上数字。
1 个回答
0
你可以使用 tarGzipFile.getmembers() 来列出压缩包里的文件,然后把你想要提取的文件传给 extractall 的 members 参数(也就是说,排除那些已经存在的文件)。你可以用 os.path.exists() 来检查文件是否存在。