我正在尝试使用 Python 创建一个 tar 存档:
import os
import tarfile
def create_tar(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))
create_tar('/sdcard/private.tar', 'data/images')
此代码有效。但是会创建一个包含另一个 private.tar 存档的 private.tar 存档。后者已经包含打包文件。所以存档看起来像这样:
private.tar
private.tar
file.txt
file_2.txt
如何在没有同名存档的情况下创建存档?
要将文件
data/images
夹中的所有文件(递归)打包到/sdcard/private.tar.gz
存档中:shutil.make_archive()
可以多取几个参数。你的代码在 python 3 中为我工作