加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

无内存上传 – 使用python请求无法实现流文件

发布时间:2020-12-20 13:38:09 所属栏目:Python 来源:网络整理
导读:我试图上传我的大文件(约1 gb)与 python请求,但它不流 – 加载到内存. with open('file.rar','rb') as ff: upload = requests.post(host,files={"file": ff}) 正如文件所述,我试过: with open('file.rar',data=ff) 和它的工作,但我需要修改其他POST字段.如
我试图上传我的大文件(约1 gb)与 python请求,但它不流 – 加载到内存.

with open('file.rar','rb') as ff:
    upload = requests.post(host,files={"file": ff})

正如文件所述,我试过:

with open('file.rar',data=ff)

和它的工作,但我需要修改其他POST字段.如何在python请求中执行此操作?

解决方法

根据请求包的文档
http://docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests

下面部分说明,你需要files =和一些python dict包装器.不确定这是不是你想要的.但是这个模式允许你通过将它们放在传递给数据参数的dict中来修改其他字段.

>>> url = 'http://httpbin.org/post'
>>> files = {'file': open('report.xls','rb')}

>>> r = requests.post(url,files=files)
>>> r.text
{
  ...
  "files": {
   "file": "<censored...binary...data>",...

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读