【发布时间】:2023-03-18 21:26:01
【问题描述】:
我有一个这样的文件夹结构:C:\Users\Simon\Desktop\mySoftware\files\output\
在输出文件夹中,有一个文件和一个文件夹,里面有另一个文件。
我需要 Python 来压缩“输出”文件夹中的文件(和文件夹)。
我尝试了以下方法:
#!/usr/bin/env python
import os, zipfile
simonsFiles = 'C:\Users\Simon\Desktop\mySoftware\files\output\\'
simonsZip = zipfile.ZipFile("myzipfile.zip", "w")
for dirname, subdirs, files in os.walk(simonsFiles):
simonsZip.write(dirname)
for filename in files:
simonsZip.write(os.path.join(dirname, filename))
simonsZip.close()
但 Python 会在其中创建一个包含整个结构的 zip 文件夹:
Users\Simon\Desktop\mySoftware\files\output\
当我输出时,它有我想要压缩到 zip 的文件夹和文件。
如何让 Python 将文件夹和文件压缩成一个 zip 而不是整个目录结构?
【问题讨论】:
-
我猜,files 变量包括所有文件和文件夹。
标签: python compression zip zipfile