3
我有,我可以在命令行使用此語法運行一個小型的Java程序:問題與Python的子模塊包裝Java程序
java -jar EXEV.jar -s:myfile
這個Java程序的打印一些數據在屏幕上和我想將stdout
重定向到一個名爲output.txt
的文件中。
from subprocess import Popen, PIPE
def wrapper(*args):
process = Popen(list(args), stdout=PIPE)
process.communicate()[0]
return process
x = wrapper('java', '-jar', 'EXEV.jar', '-s:myfile', '>', 'output.txt')
當我運行上面,output.txt
不會被寫入和Python不會引發任何錯誤。任何人都可以幫我弄清楚這個問題嗎?
其中,第一個更好:當Python提供設備時,沒有理由使用shell的重定向。 – katrielalex 2012-03-20 22:09:05