如何将文本文件添加到从 python 中的请求调用创建的压缩文件中?

KubiK888

我提出了一个请求,并且能够访问和存储从页面下载的压缩文件。压缩文件包含内多个文本文件,如text1.txttext2.txt等。

import requests

r = requests.get('http://somewhere.com/download.zip', stream=True)

handle = open('store_locally.zip', "wb")

for chunk in r.iter_content(chunk_size=512):
    handle.write(chunk)
handle.close

但是,我想添加一个名为 .txt 的额外文件lastupdated.txt代码为:

import requests

r = requests.get('http://somewhere.com/download.zip', stream=True)

handle = open('store_locally.zip', "wb")

for chunk in r.iter_content(chunk_size=512):
    handle.write(chunk)

f=open("lastupdated.txt","w+")
f.write('2019-02-12')
handle.write(f)

handle.close

这给了我以下错误:

Traceback (most recent call last):
  File "C:\Users\main.py", line 55, in <module>
    handle.write(f)
TypeError: a bytes-like object is required, not '_io.TextIOWrapper'

它确实lastupdated.txt在 的同一目录中创建了文件main.py,但这不是我想要的,我希望它在压缩文件中创建。

科迪

问题是你只是打开一个新文件 ( lastupdated.txt) 并写入它,它与 zip 没有关系。将 zip 写入磁盘并关闭后,您可以使用该zipfile模块将新文件添加到其中:

import zipfile

import requests

outfile = "stored_locally.zip"
r = requests.get("http://somewhere.com/download.zip", stream=True)

with open(outfile, "wb") as fd:
    for chunk in r.iter_content(2048):
        fd.write(chunk)

with zipfile.ZipFile(outfile, "a") as z:
    z.writestr("lastupdated.txt", "2019-02-12")

编辑:在内存中下载和修改文件,而不写入磁盘:

import zipfile
from io import BytesIO

import requests

r = requests.get("http://somewhere.com/download.zip")
f = BytesIO(r.content)

with zipfile.ZipFile(f, "a") as z:
    z.writestr("lastupdated.txt", "2019-02-12")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将文本文件添加到 bash 脚本中,然后使用该文本文件

来自分类Dev

使用python将分隔符添加到文本文件

来自分类Dev

如何在Python中读取压缩文件夹中的文本文件

来自分类Dev

Python:如何解析内容并将其添加到文本文件

来自分类Dev

如何将文本文件中的String元素添加到ArrayList中?

来自分类Dev

如何将文本文件中的用户添加到unix系统中?

来自分类Dev

如何将文本文件中的数据添加到 JavaFX 中的 ComboBox?

来自分类Dev

如何将多个文本文件中的字符串添加到数组

来自分类Dev

将新数据添加到文本文件中,而不会在python中覆盖它

来自分类Dev

将文本文件每一行中的每个字符添加到 Python 列表中

来自分类Dev

如何将错误代码编号添加到输出文本文件?

来自分类Dev

python在文本文件中搜索字符串并将值添加到变量

来自分类Dev

在Python中将数据添加到文本文件的特定行中?

来自分类Dev

使用zstandard在Python中压缩文件

来自分类Dev

如何将字符串添加到我的文本文件中的第 13 行

来自分类Dev

将文本添加到文本文件的开头

来自分类Dev

是否可以将Julia,R和python添加到单个文本文件(例如R markdown或可以作为文本文件操作的笔记本)中?

来自分类Dev

将文本文件的行添加到字典

来自分类Dev

如何将列表中的元组转储到Python中的文本文件

来自分类Dev

如何将输出保存到python中的文本文件中?

来自分类Dev

Python:如何将生成器输出保存到文本文件中?

来自分类Dev

如何将Python字典从文本文件加载到变量中

来自分类Dev

如何将ndarray写入python中的文本文件?

来自分类Dev

如何使用cat将文本文件的内容添加到文件的开头

来自分类Dev

使用python中的命令在windows中压缩文件

来自分类Dev

Python读/写文件练习。如何将列表打印到文本文件

来自分类Dev

如何确定Python中压缩文件的内容长度?

来自分类Dev

将文本添加到文本文件的开头,而不必在R中复制整个文件

来自分类Dev

如何将多行文本文件分解为可迭代的列表,以检查python中是否输入==文本文件?

Related 相关文章

  1. 1

    如何将文本文件添加到 bash 脚本中,然后使用该文本文件

  2. 2

    使用python将分隔符添加到文本文件

  3. 3

    如何在Python中读取压缩文件夹中的文本文件

  4. 4

    Python:如何解析内容并将其添加到文本文件

  5. 5

    如何将文本文件中的String元素添加到ArrayList中?

  6. 6

    如何将文本文件中的用户添加到unix系统中?

  7. 7

    如何将文本文件中的数据添加到 JavaFX 中的 ComboBox?

  8. 8

    如何将多个文本文件中的字符串添加到数组

  9. 9

    将新数据添加到文本文件中,而不会在python中覆盖它

  10. 10

    将文本文件每一行中的每个字符添加到 Python 列表中

  11. 11

    如何将错误代码编号添加到输出文本文件?

  12. 12

    python在文本文件中搜索字符串并将值添加到变量

  13. 13

    在Python中将数据添加到文本文件的特定行中?

  14. 14

    使用zstandard在Python中压缩文件

  15. 15

    如何将字符串添加到我的文本文件中的第 13 行

  16. 16

    将文本添加到文本文件的开头

  17. 17

    是否可以将Julia,R和python添加到单个文本文件(例如R markdown或可以作为文本文件操作的笔记本)中?

  18. 18

    将文本文件的行添加到字典

  19. 19

    如何将列表中的元组转储到Python中的文本文件

  20. 20

    如何将输出保存到python中的文本文件中?

  21. 21

    Python:如何将生成器输出保存到文本文件中?

  22. 22

    如何将Python字典从文本文件加载到变量中

  23. 23

    如何将ndarray写入python中的文本文件?

  24. 24

    如何使用cat将文本文件的内容添加到文件的开头

  25. 25

    使用python中的命令在windows中压缩文件

  26. 26

    Python读/写文件练习。如何将列表打印到文本文件

  27. 27

    如何确定Python中压缩文件的内容长度?

  28. 28

    将文本添加到文本文件的开头,而不必在R中复制整个文件

  29. 29

    如何将多行文本文件分解为可迭代的列表,以检查python中是否输入==文本文件?

热门标签

归档