python - 如何使用 python 将以下代码中所有生成的图像保存到 Zip 文件中?
问题描述
我需要解码 content_arrays 列表中的数据并生成图像,下面的代码就是这样做的
content_arrays = ['ljfdslkfjaslkfjsdlf' , 'sdfasfsdfsdfsafs'] // Contains a list of base64 encoded data
i=0
for content in content_arrays:
img_data = (content_arrays[i])
with open(filename, "wb") as fh:
fh.write(base64.b64decode(img_data))
i=i+1
如何将所有生成的图像直接存储到单个 zip 文件中,该文件包含通过从上述列表 [content_arrays] 解码 base64 字符串生成的所有图像。
下载数据的当前文件结构 ::
-- Desktop
-- image1.png
-- image2.png
下载数据所需的文件结构 ::
-- Desktop
-- Data.zip
-- image1.png
-- image2.png
我使用过 python zipfile 模块,但无法弄清楚。如果有任何可能的方法,请提出您的建议..
解决方案
您可以只使用 zipfile 模块,然后将内容写入 zip 中的单独文件。在此示例中,我只是将内容写入内容列表中每个项目的 zip 内的文件。我在这里也使用 writestr 方法,因此我不必在磁盘上保存物理文件,我可以在内存中创建内容并将其写入我的 zip 中,而不必先在操作系统上将其创建为文件,然后再写入压缩包中的文件
from zipfile import ZipFile
with ZipFile("data.zip", "w") as my_zip:
content_arrays = ['ljfdslkfjaslkfjsdlf', 'sdfasfsdfsdfsafs']
for index, content in enumerate(content_arrays):
#do what ever you need to do here with your content
my_zip.writestr(f'file_{index}.txt', content)
推荐阅读
- python - 如何使用硒保存关注者列表?
- c++ - Visual Studio Code - 为 C++ 配置 OpenCV 库
- google-home - 以编程方式获得与向 Google Home 发出命令相同的结果?
- nginx - 安装 nginx 请求后随机挂起
- python - 我对 2 个矩阵的摘要有疑问
- mysql - 如何增加 MySQL 的最大允许数据包大小?
- python - 如何从 python 代码将 Firebase 导出为 JSON?
- visual-c++ - 图标视图中的 MFC CListCtrl 组
- ubuntu - 如何解决 docker-compose 安装问题?
- javascript - 未定义类时Angular ngClass导致错误