2010-12-30 20 views
2

私は窓でcurl.exeを使っています。しかし残念ながら私はコンソールからデータを取り戻すことはできません。pythonのサブプロセスを使ってcurlから情報を取り出す方法

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 \"[email protected]" + namel + "\" -F \"[email protected]" + nto + "\" http://www.isos.lt/upload.php") 

私は情報を取得するためにprocess.returncodeてみましたが、私は、正しい情報を得ることはありません。 私はcmdでその情報を見ることができますが、私はそれを取得する方法がわかりません。たぶんstdout = subprocess.PIPE、process.communicate()でその情報を得ることは可能でしょうか?

編集:

このコマンドはsukhbirによって助けられました。ありがとう。 commandがあなたのコマンドである

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

Where command is your command. 
+1

"EDIT:SOLVED"は無効です。実際の回答を投稿してください。あなたは他の人が学ぶことができるようにあなた自身の質問に答えることができます。 「EDIT:SOLVED」は誰にも役立ちません。 –

答えて

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

+0

はい、パウロのアドバイスを聞いてください。 – user225312

+0

ありがとうございました。 – jack

+0

それはうまくいきましたが、より良い選択肢が用意されていますので、これをすべて簡単に処理できます。 Pauloのようにリンクをチェックしてください。 – user225312

7

カールバイサブプロセスを使用するのは難しい方法です。問題を解決してurllibまたはpycurlを使用してください。

[更新]

現在、requestsライブラリはこの種のもののための最良の選択肢です。

+0

+1リクエスト。私はurllibとpycurlが必要とするセットアップの狂気を信じられませんでした。リクエストサイトは正しくあります。Pythonではこのようにすべきではありません。 –

関連する問題