python - 使用 HTTP 下载一个巨大的文件并上传到 FTP 服务器而不存储它
问题描述
我有一个项目,我应该使用 HTTP 下载一些巨大的文件并将它们上传到 FTP 服务器。最简单的方法是先下载文件,然后上传到FTP;认为它是两个独立的阶段。
但是我们可以在下载文件时使用流来上传文件吗?这种方式似乎更有效率。欢迎任何专门在 python 中的示例。
解决方案
使用requests
module获取代表 HTTP 下载的类文件对象并将其与ftplibFTP.storbinary
一起使用:
from ftplib import FTP
import requests
url = "https://www.example.com/file.zip"
r = requests.get(url, stream=True)
ftp = FTP(host, user, passwd)
ftp.storbinary("STOR /ftp/path/file.zip", r.raw)
推荐阅读
- javascript - 酒吧堆积在一个地方
- php - Laragon : 错误消息 : (include_path='.;C:/laragon/etc/php/pear') 在第 0 行的未知
- checkbox - 如何在警报控制器中配置复选框并在 Ionic 4 中返回值?
- css - 使用“as”属性时,样式化组件不继承样式
- python - 'utf-8' 编解码器无法解码位置中的字节 0x96 ...当通过 pandas read_csv 读取文本文件时
- python - circleci:pip install dlib 失败
- c# - C#返回错误'子查询返回超过1个值'但这应该没问题
- java - Array.sort() 和 JAVA 中的对象的问题
- flutter - Flutter 状态小部件未更新
- arrays - 如何从两个双列表中删除条目,以使它们的第二列在某个错误内匹配