#python-3.x #tar #tarfile
#python-3.x #tar #tarfile
Вопрос:
с помощью команды tar мы можем tar --numeric-owner -cf - test | tee
убедиться, что в данных tar используется число для представления owner: group. Как мы можем сделать это в tarfile python3? Кажется, извлекается только упомянутый числовой владелец.
Ответ №1:
Я столкнулся с аналогичной проблемой. После некоторого расследования единственным решением, которое я смог придумать, было передать фильтр TarInfo при добавлении файлов в архив. Что-то вроде:
def tar_filter(tarinfo: TarInfo) -> TarInfo:
# tar filter to mimic --numeric-owner argument
tarinfo.uname = ''
tarinfo.gname = ''
return tarinfo
with tarfile.open(<tar_file_name>, w:gz) as tar:
tar.add(<file_to_add>, filter=tar_filter)