我使用Pythons的subprocess
模塊來運行命令。Python用於運行Java JAR,ClassNotFoundException
該命令用於運行java JAR文件。
當我運行它通過終端,它運行良好,產生所需的輸出。
的JAVA通過終端命令:
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref,depparse -file input/input.txt
我寫了一個簡單的Python腳本來運行相同的命令。
from subprocess import call
def main():
call(['java', '-cp', '\"*\"','-Xmx2g','edu.stanford.nlp.pipeline.StanfordCoreNLP','-annotators','tokenize,pos,lemma,ner,parse,dcoref,depparse', '-file', 'input/input.txt'])
終端命令(從我跑了java命令相同的文件夾):這裏
python script.py
輸出是:
Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLP
我的思念,什麼是不一樣當我從python運行它或從終端運行它?
蟒蛇call()
錯過了什麼在終端環境?
任何洞察力或方向將啓動我的項目!
然後我該如何處理?我應該放入一個實際的字符編碼值或ASCII值嗎? @ user2357112 –
嘗試使用''*''代替,只要您不設置shell = True –
我應該如何接受評論作爲答案? @ Jean-FrançoisFabre,你的建議奏效了。我應該只是寫一個答案嗎? –