1
我正在學習如何在python中執行jar。我找到了兩種方法,1)子進程和2)os.system。在我的代碼中,只有os.system有效,我想知道爲什麼。在Python子進程中執行jar與os.system
這是我的代碼。
import os
os.chdir('/Users/Jim/Desktop')
import subprocess
from subprocess import Popen, PIPE, STDOUT
p = Popen(['java','-cp','dfp-api-1.0-SNAPSHOT-standalone.jar', \
'dfp.axis.v201611.lineitemservices.GetAllLineItems', \
'-c ads.properties', \
'-o lineitem-prev.txt', \
'-l 2017-02-16X00:00:00'], \
stdout=PIPE, stderr=STDOUT)
for line in p.stdout:
print line
os.system('java -cp dfp-api-1.0-SNAPSHOT-standalone.jar dfp.axis.v201611.lineitemservices.GetAllLineItems -c ads.properties -o lineitem.txt -l 2017-02-20X00:00:00')
子進程返回這些錯誤消息:
Exception in thread "main" java.lang.NullPointerException
at java.text.SimpleDateFormat.parse(Unknown Source)
at java.text.DateFormat.parse(Unknown Source)
at dfp.axis.v201611.lineitemservices.GetAllLineItems.executeIngest(GetAllLineItems.java:46)
at dfp.axis.v201611.GoogleApiHandler.lightTheFuse(GoogleApiHandler.java:103)
at dfp.axis.v201611.lineitemservices.GetAllLineItems.main(GetAllLineItems.java:99)
謝謝您的輸入。 Jim
感謝您輕鬆沒收。它現在可以如預期般完美運作。再次感謝! –