首页 > 解决方案 > 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)

标签: pythontarfile

解决方案


您应该在 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)

推荐阅读