Python プログラム内のコマンドラインからデータを取得するにはどうすればよいでしょうか? 質問する

Python プログラム内のコマンドラインからデータを取得するにはどうすればよいでしょうか? 質問する

Python スクリプト内からコマンド ライン プログラムを実行し、出力を取得したいと考えています。

foo によって表示される情報を取得してスクリプトで使用するにはどうすればよいですか?

例えば、foo file1コマンドラインから呼び出すと、次のように出力されます。

Size: 3KB
Name: file1.txt
Other stuff: blah

次のようにしてファイル名を取得するにはどうすればよいですかfilename = os.system('foo file1')?

ベストアンサー1

サブプロセス モジュールを使用します。

import subprocess

command = ['ls', '-l']
p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.IGNORE)
text = p.stdout.read()
retcode = p.wait()

textその後、変数を使用して正規表現、分割など、必要な操作を何でも実行できます。

の 2 番目と 3 番目のパラメータはsubprocess.Popenオプションであり、削除できます。

おすすめ記事