在python中将文本写入zipfile

Posted

技术标签:

【中文标题】在python中将文本写入zipfile【英文标题】:Write text into zipfile in python 【发布时间】:2015-10-09 08:55:27 【问题描述】:

我有一个函数可以创建一个包含文本文件的 zip 存档。 是否可以在不创建临时文件的情况下执行此操作?

import zipfile
import os

PROJ_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)))


def create_zip(name, text):
    with open(os.path.join(PROJ_DIR, "_tmp_file_"), "w+") as f: 
        f.write(text)

    zf = zipfile.ZipFile(os.path.join(PROJ_DIR, "%s.zip" % name), "w",
                         zipfile.ZIP_DEFLATED)
    zf.write(os.path.join(PROJ_DIR, "_tmp_file_"), "/file.txt")
    zf.close()

【问题讨论】:

你可以尝试使用StringIO代替临时文件。 【参考方案1】:

您可以使用writestr 代替write,例如

zf.writestr('/file.txt', text)

documentation。

【讨论】:

以上是关于在python中将文本写入zipfile的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将二进制数据写入文件

如何在 Python 3 中将原始十六进制字节写入标准输出?

如何在win32 api中将鼠标坐标写入文本文件?

如何在 R Windows 中将 Unicode 字符串写入文本文件?

在matlab中将新行写入文本文件

用VBA中将Excel的数据写入Word文档,格式文本怎么传递?