1
我試圖從Python腳本執行shell命令。 我試過通常的嫌疑人,subprocess.call,Popen,os.system等Shell命令在shell中工作,但不是從Python子進程中觸發時
我試圖執行的命令無可否認是相當長(7k字符),因爲其中一個參數是json字符串。從我讀過的長度不應該成爲這裏的問題。
的命令如下:
phantomjs /some/path/visualizer_interface.js -path /another/path/chart.svg -type chart_pie -id 0 -language de -data '{...}'
展示臺接口是一個腳本,我寫我自己,基本上呈現一個幻影JS上下文請求的圖表,抓住SVG並將其寫入到指定的路徑。當我執行完全相同的命令時,我得到一個無瑕疵的圖表,但在Python中,子進程永遠不會返回,並且我也沒有得到任何形式的反饋,即使在子進程標準輸出上也沒有。
with open('/home/max/stdout.txt', 'w') as out:
res = subprocess.Popen(command, shell=True, stdout=out)
res.wait()
我能夠執行其他shell命令,所以它不是一個基本的Python問題。
任何想法非常讚賞。