【问题标题】:Download a giant file with HTTP and upload to FTP server without storing it使用 HTTP 下载一个巨大的文件并上传到 FTP 服务器而不存储它
【发布时间】:2021-10-26 17:10:30
【问题描述】:

我有一个项目,我应该使用 HTTP 下载一些巨大的文件并将它们上传到 FTP 服务器。最简单的方法是先下载文件,然后上传到FTP;将其视为两个独立的阶段。

但是我们可以在下载文件时使用流来上传文件吗?这种方式似乎更有效率。欢迎任何专门在 python 中的示例。

【问题讨论】:

    标签: python stream ftp


    【解决方案1】:

    使用requests module获取代表HTTP下载的类文件对象,并与ftplib FTP.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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多