外部コマンドの呼び出し
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)