2016-06-13 5 views
1

Мне нужно отправить формы в службу отдыха из py-скриптов. Я пытаюсь сделать это с помощью httpie.Как запустить httpie из script.py

когда я вызываю run(['http', '--help']) Я получил ожидаемый результат. если я вызываю run(['http', 'http://site/page']), скрипт застрял, и ничего не произойдет.

Я также попытался поместить ход httpie в Баш скрипт

#!/bin/bash 
http http://site/page 

результат такой же, как и в первом случае. скрипт застрял.

Я использую ubuntu 16.04, поэтому у меня есть python2 и python3 в одно и то же время. Я запускаю свой скрипт на python3. возможно, существует конфликт между p2 & p3 в этом случае?

ответ

2

Попробуйте включить опцию --ignore-stdin:

run(['http', '--ignore-stdin', 'http://site/page']) 

Опция --ignore-stdin предотвращает HTTPie от чтения данных из стандартного ввода, который, как правило, нежелательно во неинтерактивных вызовов.

- https://github.com/jkbrzt/httpie#scripting