我正在尝试用 python 压缩单个文件。无论出于何种原因,我都很难理解语法。我想做的是保留原始文件并创建原始文件的新压缩文件(就像 Mac 或 Windows 在归档文件时所做的那样)。
这是我目前所拥有的:
import zipfile
myfilepath = '/tmp/%s' % self.file_name
myzippath = myfilepath.replace('.xml', '.zip')
zipfile.ZipFile(myzippath, 'w').write(open(myfilepath).read()) # does not zip the file properly
最佳答案
如果要压缩的文件 (filename
) 位于名为 pathname
的不同目录中,则应使用 arcname
参数。否则,它将重新创建文件夹的完整文件夹层次结构。
from zipfile import ZipFile
import os
with ZipFile(zip_file, 'w') as zipf:
zipf.write(os.path.join(pathname,filename), arcname=filename)
关于python - 压缩单个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42214376/