サブプロセス実行時のディレクトリの移動とログファイルの書き出し

これからも頻繁にGUIの中で使うであろう。os.chdir()

>>> print os.getcwd()      # カレントディレクトの確認
>>> os.chdir(path)         # pathで指定したディレクトリへ移動する。
  • ログの表示

出力されるログを表示するのに、普通にprintでは1行ごとに空行が入る。そこでカンマを入れることで改行文字を入れない。

>>> print s,

(使用例)

import os
import popen2

os.chdir(path)
cmd_name = 'a.out'
output = '%s.log' % cmd_name     # ログファイル名
filepath0 = os.path.join(path, 'logf', output)  # ログファイルのパス
fd = open(filepath0, 'w')

r, w, e = popen2.popen3(cmd_name)   # コマンドの実行
while True:
    s = r.readline()         # 実行による出力の読み込み
    print s,             # 読んだ分を出力する
    if s == '':
        break
    if fd:
        fd.write(s)      # ログファイルに書き込み