在Python脚本中如何正确“管道”Maven输出到屏幕?

0 投票
1 回答
1211 浏览
提问于 2025-04-15 12:44

我的Python工具脚本里有一些UNIX系统调用,比如

status, output = commands.getstatusoutput("ls -ltr")
print "Output: ", output
print "Status: ", status

这些调用运行得很好,会把输出打印到控制台。但是当我在同一个脚本里运行Maven时,

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

输出就没有像之前的普通系统命令那样被读取出来。如果我直接在命令行执行这个带引号的Maven命令,它是可以正常工作的。那么,怎样才能把Maven的输出正确地显示到屏幕上呢?

1 个回答

0

你确定 ${PWD} 被正确展开了吗?如果没有,可以试试:

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

撰写回答