外部コマンドの呼び出し

subprocessモジュールのcall(),check_call(),check_output()を使うことが望ましい.

subprocess.call 0,1 戻り値

subprocess.check_call 0, 1 戻値にエラー例外を出す

subprocess.check_output 実行結果を文字列として帰す(python 2.7以降)

文字列はバイナリ化されているので、decodeして文字列にする。

fns_=subprocess.check_output('find ' + bdir + ' -name "zos*.nc"', shell=True).decode('ascii').split('\n')

if fns[-1]=='':

fns=fns[:-1]

最後の2行はfnsの最後の要素に,''が入ってしまうので,そうであることを確認して削除している.

subprocess.Popen.communicate 実行結果を返すことができるらしい.まだ試していない.

古い書き方(戻り値なしならos.system, 戻り値ありならcommands.getoutput)