我在这段代码中缺少什么(#instead of code中的注释行),以便在zip文件夹中存档test.py文件?
#!/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()
答案 0 :(得分:1)
问题是你没有解压缩os.walk()函数返回的所有变量,所以你要告诉程序压缩元组而不是路径。您必须在zipdir()
函数中进行以下更改:
def zipdir(path, ziph):
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root,file))