2009-05-08 16 views
3

バッチファイルを実行するpythonスクリプト(Windows)を作成しようとしていますが、そのバッチファイルのコマンドライン出力を入力として受け取ります。バッチファイルは、私がアクセスできないプロセスを実行し、それらのプロセスが成功したかどうかに基づいて出力を出します。これらのメッセージをバッチファイルから取り出し、Pythonスクリプトで使用したいと思います。誰でもこれを行う方法に関するアイデアはありますか?Pythonスクリプトへのバッチファイル出力の配管

答えて

1

サブプロセスtryPopen()を試してください。 stdoutとstderrをファイルにリダイレクトすることができます。ここで

2

はTEST.BATを実行し、出力を表示するサンプルのPythonスクリプトです:TEST.BATの

import os 

fh = os.popen("test.bat") 
output = fh.read() 
print "This is the output of test.bat:", output 
fh.close() 

出典:

@echo off 
echo "This is test.bat" 
8
import subprocess 

output= subprocess.Popen(
    ("c:\\bin\\batch.bat", "an_argument", "another_argument"), 
    stdout=subprocess.PIPE).stdout 

for line in output: 
    # do your work here 

output.close() 

注それはあなたを開始することが望ましいということバッチファイルに "@echo off"と入力します。

関連する問題