python - 在本地创建 zipfile 并从 s3 写入文件

标签 python zip python-zipfile

我正在本地计算机上创建一个 zip 文件,并希望从 s3 写入文件。到目前为止我还无法做到这一点。这是我目前所拥有的。

import os
import zipfile
from fs import open_fs

fs = open_fs(os.getenv('s3_sample_folder'))
file_names = file_names() #list of file names

with zipfile.ZipFile('zipfile.zip', mode='w') as zf:
   for file in file_names:
       with fs.open('/'+file, 'rb') as remote_file:
           content = remote_file.read()
           zf.write(content, basename(content))

最佳答案

ZipFile.write 方法接受文件名,而不是文件内容。您应该使用 ZipFile.writestr 方法来将文件内容写入 zip 文件:

zf.writestr(file, content)

关于python - 在本地创建 zipfile 并从 s3 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54791964/

相关文章:

python - 将 C 数组转换为 Python 字节

python - 字典理解没有按预期进行

windows - 如何在多个 zip 文件中添加一个文件?

python - 创建 ZipFile 时出现属性错误

Python ZipFile 路径分隔符

python - 如何在 PyQT 中打开新窗口时关闭窗口?

python - 未找到 Discord debian 模块 python3.6 和 python2.7 安装

java - 我怎样才能保护自己免受 zipper 炸弹的伤害?

java - 将 ZipOutputStream 返回给浏览器

python - 如何使用 python 的标准库 zipfile 检查 zip 文件是否加密?