我在代码中丢失了什么(#代替注释行中的代码行)将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