一直試圖讓這樣的工作一段時間,下面似乎並沒有發送正確的參數給c程序arg_count,它輸出argc = 1
。當我很確定我希望它是2
。 ./arg_count -arg
從殼輸出2 ...python subprocess missing arguments
我試着用另一個arg(所以它會在shell中輸出3),它仍然輸出1通過子進程調用時。
import subprocess
pipe = subprocess.Popen(["./args/Release/arg_count", "-arg"], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = pipe.communicate()
result = out.decode()
print "Result : ",result
print "Error : ",err
任何想法在哪裏下跌?我正在運行Linux btw。
謝謝,這似乎解決爭論問題,但是現在我得不到任何輸出...... – jayjay
無論出於何種原因,腳本必須與可執行文件位於同一目錄才能獲得有效結果?或者我不知道如何寫一個文件路徑... – jayjay
這不應該是這樣;我可以很容易地將我的'arg_count'版本(在這種情況下是一個2行Python腳本)放在不同的目錄中,並獲得正確的結果。除非你的'arg_count'本身有一些尷尬的問題。 – Evert