我正在尝试在 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
原文由 David542 发布,翻译遵循 CC BY-SA 4.0 许可协议
压缩文件的正确方法是:
python官方文档 说:
您将
open(filename).read()
传递给write()
。open(filename).read()
是包含文件filename
全部内容的单个字符串,它会抛出FileNotFoundError
因为它正在尝试查找以字符串内容命名的文件。