python - Python3 - 如何将 tarfile 写入不同的目录?
问题描述
我正在尝试将变量 target_path 中的目录备份到变量 archive_name.tar.gz 中分配的文件,并将该文件写入当前目录以外的目录。下面的代码有效,但将输出放在当前工作目录中。我无法确定是否有一种方法可以添加参数以将文件写入变量 write_path 中指定的目录。任何帮助表示赞赏!
使用 tarfile.open(archive_name+'.tar.gz', mode='w:gz') 作为存档:
archive.add(target_path, recursive=True)
解决方案
您应该在 open 函数中执行此操作。您可以使用相对路径,例如:
with tarfile.open('../test'+'.tar.gz', mode='w:gz') as archive:
archive.add('test', recursive=True)
这使得 tar 文件位于 parnet 文件夹或绝对路径中,例如:
with tarfile.open('/home/user/Desktop/test'+'.tar.gz', mode='w:gz') as archive:
archive.add('test', recursive=True)