シェルでコマンドを打った時の標準出力を扱う方法
使用するモジュール
シェルのコマンドの出力を得るには, commandsモジュールをimportする必要があります.
commandsモジュールの使い方
以下の様なファイルがあるフォルダにいるとして, lsコマンドの出力をpythonで扱いたいとします.
$ ls
file1 file2 file3 file4 file5
例えば, 以下のようにすることで, lsの出力を得ることができます.
>>> import commands
>>> files = commands.getoutput('ls')
>>> files
'file1\nfile2\nfile3\nfile4\nfile5'
簡単にいえば, commandsモジュールをimportして, commandsモジュールのgetoutput('コマンド名')メソッドを使うことで, 標準出力を扱うことができます. lsコマンドの出力が\nで区切られているので, 例えばlistに入れたいとすると, 以下のようにすることで実現できます.
>>> import commands
>>> files = commands.getoutput('ls')
>>> files
'file1\nfile2\nfile3\nfile4\nfile5'
>>> list = files.split('\n')
>>> list
['file1', 'file2', 'file3', 'file4', 'file5']