2012-03-14 1 views
4

pythonスクリプトの別のコマンドから入力を管理するにはどうすればいいですか?Python:別のコマンドの入力を使用する

例:

$ cat myfile.txt | my_python_script.py

スクリプトはcatコマンドの入力ストリームをどのように管理できますか?どのようにこのパイプコマンドから入力を得ることができますか?

...ありがとうございます。

答えて

4

これを達成するための簡単で多目的な方法は、fileinputモジュールを使用することです。

import fileinput 

for line in fileinput.input() 
    # do things with line 

あなたは両方(my_python_script.py input.txt input2.txtを考える)パイプラインでスクリプトを使用する(あなたが今する必要があるとして)、またはパラメータとしてスクリプトに1つまたは複数のファイルを与えることができますこの方法。

+0

私はこれを念頭に置いておきます、ありがとうございます。 – user1174386

1

標準入力をsys.stdin.readlines() で読み取る代わりに、pipesモジュールを使用することをおすすめします。

パイプモジュールはパイプラインという概念を抽象化するクラスを定義しています。つまり、あるファイルから別のファイルへのコンバーターのシーケンスです。モジュールは/ bin/shコマンド行を使用するため、os.system()およびos.popen()のPOSIXまたは互換シェルが必要です。

ここには素敵なtutorialがあります。

+0

ありがとうございました。 Muchas gracias!私はtutoを読む – user1174386

関連する問題