gpt4 book ai didi

Python,在内存中写入zip到文件

转载 作者:太空狗 更新时间:2023-10-29 17:10:12 25 4
gpt4 key购买 nike

如何将内存中的压缩文件写入文件?

# Create in memory zip and add files
zf = zipfile.ZipFile(StringIO.StringIO(), mode='w',compression=zipfile.ZIP_DEFLATED)
zf.writestr('file1.txt', "hi")
zf.writestr('file2.txt', "hi")

# Need to write it out
f = file("C:/path/my_zip.zip", "w")
f.write(zf) # what to do here? Also tried f.write(zf.read())

f.close()
zf.close()

最佳答案

StringIO.getvalue StringIO 的返回内容:

>>> import StringIO
>>> f = StringIO.StringIO()
>>> f.write('asdf')
>>> f.getvalue()
'asdf'

或者,您可以使用 seek 更改文件的位置:

>>> f.read()
''
>>> f.seek(0)
>>> f.read()
'asdf'

尝试以下操作:

mf = StringIO.StringIO()
with zipfile.ZipFile(mf, mode='w', compression=zipfile.ZIP_DEFLATED) as zf:
zf.writestr('file1.txt', "hi")
zf.writestr('file2.txt', "hi")

with open("C:/path/my_zip.zip", "wb") as f: # use `wb` mode
f.write(mf.getvalue())

关于Python,在内存中写入zip到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com