在python中创建zip存档

时间:2015-10-12 10:33:19

标签: python zip archive

我在这段代码中缺少什么(#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()

1 个答案:

答案 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))

检查以下答案:How to create a zip archive of a directory