2

Python の subprocess モジュールを使用して dxl スクリプトを実行しています。私の問題は、dxl スクリプトの出力 (この例では print-statement またはエラー メッセージ) をキャッチしようとすると、コマンド プロンプトに表示されますが、それをキャッチしようとするとstdout=subprocess.PIPEsubprocess.check_output常に空が返されます。ストリング。出力をキャッチする方法、または Doors からエラー メッセージを取得する方法はありますか? DOORS の GUI が表示されないようにすることが重要です。

これが私の問題を示す私の簡単な例です:

テスト.dxl

print "Hello World"

test.py

import subprocess
doorsPath = "C:\\Program Files (x86)\\IBM\\Rational\\DOORS\\9.5\\bin\\doors.exe"
userInfo = ' -user dude -password 1234 -d 127.0.0.1 -batch ".\\test.dxl"'
dxl = " -W"

output = subprocess.check_output(doorsPath+dxl+userInfo)
print(output)

編集: Windows 7 、DOORS 9.5、および Python 2.7 を使用する

4

3 に答える 3

-1

あなたのスクリプトには多くのエラーがあります。たとえば、サブプロセスの場合はこのリンクを試してください

これを試してください:

import subprocess
import sys

path = "C:\\Program Files(x86)\\IBM\\Rational\\DOORS\\9.5\\bin\\doors.exe"
userInfo = "C:\\Program Files (x86)\\IBM\\Rational\\DOORS\\9.5\\bin\\doors.exe"

proc = subprocess.Popen([path,userInfo,"-W"])
proc.communicate()

私はそれがあなたのシステムで動作することを願っています!

于 2015-10-07T14:28:47.693 に答える