使用Python-Requests Library发布文本文件

时间:2011-11-12 20:02:26

标签: python post http-request python-requests

您好我在使用Python请求库(http://docs.python-requests.org/en/latest/index.html)发布文本文件时遇到问题,您能否让我知道我做错了什么?

我尝试搜索相关问题并找到Send file using POST from a Python script,但它没有回答我的问题。

这是我的代码:

import codecs
import requests

# Create a text file
savedTextFile = codecs.open('mytextfile.txt', 'w', 'UTF-8')

# Add some text to it
savedTextFile.write("line one text for example\n and line two text for example")

# Post the file THIS IS WHERE I GET REALLY TRIPPED UP
myPostRequest = requests.post("https://someURL.com", files=savedTextFile)

我已经尝试了上面的一些变化,我没有得到任何地方(每次都有新的错误)。如何发布我刚刚创建的这个txt文件?我试图发布的API需要将文本文件发布到它。

感谢任何帮助!

1 个答案:

答案 0 :(得分:5)

files参数需要一个与文件处理程序匹配的文件名的dict。这在源代码中描述(当前第69行):

Github Source (requests/models.py)

#: Dictionary of files to multipart upload (``{filename: content}``).
self.files = files

有时最好的文档是代码。

您的最后一行应如下所示:

myPostRequest = requests.post("https://someURL.com", files={'mytextfile.txt': savedTextFile})