Использование библиотеки Python-Requests для публикации текстового файла - PullRequest
2 голосов
/ 13 ноября 2011

Привет, у меня проблемы с публикацией текстового файла с помощью библиотеки запросов Python (http://docs.python -requests.org / en / latest / index.html ), можете ли вы сообщить мне, что я ' я делаю неправильно?

Я попытался найти похожие вопросы и нашел Отправить файл, используя POST из скрипта Python , но он не отвечает на мой вопрос.

Вот мой код:

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)

Я пробовал несколько вариантов выше, и я никуда не попадаю (новая ошибка каждый раз). Как мне опубликовать этот текстовый файл, который я только что создал? API, к которому я пытаюсь опубликовать, требует публикации текстового файла.

Любая помощь приветствуется!

1 Ответ

5 голосов
/ 13 ноября 2011

Параметр files ожидает указание имени файла, соответствующего обработчику файла. Это описано в исходном коде (в настоящее время строка 69):

Источник Github (запросы / models.py)

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

Иногда лучшей документацией является код.

Ваша последняя строка должна выглядеть следующим образом:

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