Как избежать перезаписи файлов

мы используем библиотеку Python tarFile, чтобы распаковать набор заданных файлов в целевой каталог.

tarGzipFile = tarfile.open(fileName)
tarGzipFile.extractall(targetDir + '/')

Здесь, если один и тот же файл существует более чем в одном файле tar.gz, тогда файл перезаписывается в целевом каталоге. Как я могу изменить свой код, чтобы избежать перезаписи? а также ищите параметр, похожий на tar --backup none или numbered... чтобы, если файл существует, к нему добавлялся префикс ~ или добавлялся номер в конце.


person user3404493    schedule 29.07.2014    source источник
comment
@PadraicCunningham Он хочет извлечь файлы контейнера, а не добавлять файлы в существующий файл контейнера.   -  person miindlek    schedule 29.07.2014


Ответы (1)


Вы можете использовать tarGzipFile.getmembers() для вывода списка файлов в архиве и передать member= для извлечения всех только тех файлов, которые вы хотите извлечь (т. е. исключая уже существующие файлы). os.path.exists() можно использовать для проверки существования файла.

person mdurant    schedule 29.07.2014