Как извлечь информацию из curl с помощью подпроцесса python - PullRequest
2 голосов
/ 30 декабря 2010

Я использую curl.exe на Windows.Но, к сожалению, я не могу получить данные из консоли.

код Python выглядит следующим образом:

tid = subprocess.Popen("C:/users/zero/Desktop/lm/curl.exe -i -H \"Cookie: login=" + userhash + "\" -F \"type=" + caid + "\" -F \"description=\" -F \"descr=" + cleaned + "\" -F \"filetype=2\" -F \"name=" + pavadinimas + "\" -F \"file=@" + namel + "\" -F \"tag=@" + nto + "\" http://www.isos.lt/upload.php")

Я пытался с помощью process.returncode получить информацию, но не получаюправильная информацияЯ вижу эту информацию в cmd, но не знаю, как ее получить.Может быть, возможно получить эту информацию с помощью stdout = subprocess.PIPE, process.communicate ()?

РЕДАКТИРОВАТЬ:

Помогла эта команда, опубликованная Сухбир.Спасибо.

p = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]

Where command is your command.

Ответы [ 2 ]

7 голосов
/ 30 декабря 2010

Использование curl через подпроцесс - трудный путь.Избавьтесь от неприятностей и используйте urllib или pycurl .

[update]

В настоящее время библиотека запросов являетсялучший вариант для такого рода вещей.

1 голос
/ 30 декабря 2010
p = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]

Где command - ваша команда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...