2017-10-14 127 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