2009-07-07 7 views
0

私のPythonのユーティリティスクリプトは、UNIXシステムコールを含有するようPythonシェルスクリプトでMavenの出力をPythonでスクリーンに表示する正しい方法は何ですか?

status, output = commands.getstatusoutput("mvn clean install -s./../../foo/bar/settings.xml -Dportal -Dmain.dir=${PWD}/../.. -o") 
print "Output: ", output 
print "Status: ", status 

出力

正常に動作し、コンソールに出力を印刷するが、
status, output = commands.getstatusoutput("ls -ltr") 
print "Output: ", output 
print "Status: ", status 

とすぐに、私は同じスクリプトからMavenを実行するように、など以前の通常のシステムコマンドのように読み込まれません。引用符で囲まれたMavenコマンドは、単にコマンドラインから実行すれば正常に動作します。 Mavenの出力を画面にパイプする正しい方法は何ですか?

答えて

0

${PWD}は適切に展開されていますか?そうでない場合は、試してみてください:

status, output = commands.getstatusoutput("mvn clean install -s./../../foo/bar/settings.xml -Dportal -Dmain.dir=%s/../.. -o" % os.getcwd()) 
+0

%os.getcwd() –

関連する問題