我在代碼中丟失了什麼(#代替註釋行中的代碼行)將test.py文件存檔在zip文件夾中?在python中創建zip檔案
#!/usr/bin/python
import zipfile,os
path='/home/user/Desktop'
def zipdir(path, zipf):
for file in os.walk(path):
#zipf.write(os.path.join(root,path))
if __name__ == "__main__":
zipf = zipfile.ZipFile('test.zip', 'w')
zipdir(path, zipf)
zipf.close()
http://stackoverflow.com/questions/1855095/how-to-create-a-zip-目錄歸檔 – user1514631
@ user1514631爲什麼在這個問題中寫入了root而不是path,在os.path.join裏面?你可以向我解釋這部分嗎? – commandos2389
os.walk(path)返回一個元組列表,該元組的第一個元素是當前目錄(一些調用root,並且這個目錄會隨着os.walk進入目錄而改變),通過加入當前的根目錄文件名,您可以獲得當前文件的完整路徑名。鏈接答案中的「變量」路徑是os.walk開始的起始目錄。爲了更好地理解,只需在您的zipdir函數中打印根目錄,目錄,文件,這樣您就可以看到發生了什麼。 – user1514631