shutil.make_archive 没有压缩到正确的目的地

som*_*y95 4 zip shutil python-3.x

根据下面的代码,我在使用 python 3 shutil.make_archive 函数压缩目录时遇到问题。.testdir 将被压缩,但它被压缩到 /home/pi,而不是 /home/pi/Backups。

zip_loc = '/home/pi/.testdir'
zip_dest = '/home/pi/Backups/'
shutil.make_archive(zip_loc, 'zip', zip_dest)
Run Code Online (Sandbox Code Playgroud)

谁能解释我做错了什么?

Myk*_*nin 8

这里阅读文档我想出了:

zip_loc = '/home/pi/.testdir'
zip_dest = '/home/pi/Backups/'
shutil.make_archive(base_dir=zip_loc, root_dir=zip_loc, format='zip', base_name=zip_dest)
Run Code Online (Sandbox Code Playgroud)

从文档:

base_name 是要创建的文件的名称,包括路径,减去任何特定于格式的扩展名。

 

root_dir 是一个目录,它将成为存档的根目录;例如,我们通常 在创建存档之前chdir 到 root_dir

 

base_dir 是我们开始归档的目录;即 base_dir 将是存档中所有文件和目录的公共前缀。

 

root_dir 和 base_dir 都默认为当前目录。