我遇到了压缩文件夹的问题。一切都很顺利,目录中的所有文件都被压缩了。但是在zip文件的根目录中需要有一个版本文件,当我压缩它然后解压缩时,该文件是空的,0字节。
这是我在Python中用来递归压缩目录的代码:
from contextlib import closing
import os
from zipfile import ZipFile, ZIP_DEFLATED
def zipdir(self, basedir, archive_name):
"""Zip a directory."""
assert os.path.isdir(basedir)
with closing(ZipFile(archive_name, "w", ZIP_DEFLATED)) as z:
for root, dirs, files in os.walk(basedir):
for fn in files:
filepath = os.path.join(root, fn)
zfn = filepath[len(basedir) + len(os.sep):]
z.write(filepath, zfn)
目录结构如下:
/root
version.file
/somedir
file1
file2
file3
/anotherdir
file1
file2
file3
/etcdir
file1
file2
file3
当我压缩root时,version.file为空(例如0字节),我不明白为什么。
此致