在 python 中将文本写入 zipfile
Write text into zipfile in python
我有一个函数可以创建一个包含文本文件的 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()
你可以用writestr
代替write
,一个例子
zf.writestr('/file.txt', text)
我有一个函数可以创建一个包含文本文件的 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()
你可以用writestr
代替write
,一个例子
zf.writestr('/file.txt', text)