2

私はパイソンを使用しています。プロセスを実行し、subprocess.popen を使用して出力を取得しようとしています。周りを読んだ後、私は communicate()[0] を使用している人を見ましたが、それはドキュメントにはありません。例で使用されています。通信()に[0]を追加する理由について、誰かが私に記入できるかどうか疑問に思っていますか?

4

1 に答える 1

6

ドキュメントから:

Popen.communicate(input=None)

プロセスとの対話: stdin にデータを送信します。ファイルの終わりに達するまで、stdout および stderr からデータを読み取ります。プロセスが終了するのを待ちます。オプションの入力引数は、子プロセスに送信する文字列にするか、データを子プロセスに送信しない場合は None にする必要があります。

communicate()タプル(stdoutdata、stderrdata) を返します。

にアクセスcommunicate()[0]するために使用されます。stdoutdatacommunicate()[1]stderrdata

タプルまたはリストの要素にアクセスするには、インデックスを使用します。最初の要素はインデックス 0 です。

>>> tup = ("foo", "bar")
>>> tup[0]
'foo'
>>> tup[1]
'bar'
于 2013-05-20T04:39:52.083 に答える