在 python 中创建 zip 存档

creating zip archive in python

为了将 test.py 文件存档在 zip 文件夹中,我在此代码中缺少什么(#instead 而不是代码中的注释行)?

#!/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()

问题是您没有解压缩 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