2015-03-13 51 views
-2

我在執行腳本pytho使用subprocess.call() Python腳本。其中被使用subproecss執行的腳本是一個server過程,發送結果返回給調用客戶端。讓子結果變量

result = subprocess.call('python -m module/coref_resolution/src/coref/corenlp &', shell = True) 

有沒有辦法從corenlp.py收到結果存入result變量?

+0

您應該導入模塊,然後調用(在單獨的進程中使用多處理,如果您願意)獲取結果的必要功能。爲什麼你在這裏結束使用'&'? – jfs 2015-03-14 09:17:55

+0

@ J.F.Sebastian:把它作爲deamon進程的背景。我按順序運行了幾個進程。否則,它是越來越不再是守護進程,監聽端口8080 – nlper 2015-03-16 06:24:22

+0

你並不需要一個Python腳本殼裏面作業控制。改用subprocess.Popen。滴'殼= TRUE',使用列表傳遞命令 – jfs 2015-03-16 07:44:46

回答

1
import shlex 
cmd = shlex.split('your command') 
output = subprocess.Popen(cmd, stdout = subprocess.PIPE).communicate()[0] 
+0

你可以寫爲'輸出= subprocess.check_output([ '命令', 'ARG1', 'ARG2'])' – jfs 2015-03-16 18:24:12