2017-10-14 28 views
0

根据下面的代码,我正在使用python 3 shutil.make_archive函数压缩一个目录的问题。 .testdir将被压缩,但它被压缩在/ home/pi中,而不是/ home/pi/Backups。shutil.make_archive没有压缩到正确的目标

zip_loc = '/home/pi/.testdir' 
zip_dest = '/home/pi/Backups/' 
shutil.make_archive(zip_loc, 'zip', zip_dest) 

任何人都可以解释我做错了什么?

回答

0

读取文档here我想出了:

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) 

从文档:

BASE_NAME是要创建的文件,包括路径名,减去任何格式 - 具体的扩展。

 

ROOT_DIR是一个目录,这将是归档文件的根目录;例如,我们通常在创建归档之前先登录root_dir

 

base_dir是我们开始从归档目录;即base_dir将是档案中所有文件和目录的通用前缀。

 

ROOT_DIRbase_dir都默认为当前目录。

+0

谢谢,就是这样。 – somerandomguy95