首页 > 解决方案 > 如何在python上通过PUT上传文件而不打开文件

问题描述

问题:

1)需要一个接受文件路径而不是打开文件(因为它可能很大)的python库来发出PUT请求。2)如果存在,还希望该库自动执行重定向(请求库执行此操作)

用于此的 shell 命令是curl -T

我已经尝试过请求,它确实重定向但需要打开文件来发送文件。pyCurl 也是如此。剩下的唯一选择是在 python 代码中运行 shell 命令。

标签: pythonapicurlpython-requestspycurl

解决方案


在 pycurl 中,READDATA 和 READFUNCTION 都应该从打开的文件中流式传输数据。正如评论中所指出的,打开文件需要对其内容进行任何操作。

通常,您可以通过监控程序执行时的内存使用情况并为其提供一个大的输入文件(例如> 100 MB)来验证您的程序是否正在流式传输数据,而不是读取内存中的文件。


推荐阅读