Pythonでshellを実行する

Pythonではできないものをシェルを使って実行したいというときはありますよね?


Pythonでは、shellを実行するには2通りがあります。

  • 実行後の値がほしい場合 -> commands.getoutput()
  • 実行するだけでいい場合 -> os.system()


commands.getoutput()

>>> import commands
>>> pwd = commands.getoutput("pwd")
>>> print pwd
/Users/Alice/

このように、commands.getoutput()では実行後の値を取得することが出来ます。
僕が造ったAnalyzeDirectoryでは、これを使ってls -lコマンドを実行し、各ファイルに対してアプローチを施しています。


os.system()

>>> import os
>>> pwd = os.system("pwd")
/Users/Alice
>>> print pwd
0

このように、os.system()では、実行するだけで、その実行した値を取得することは出来ません。




以上です。