0
作爲參數傳遞的可執行文件我有一個python腳本從命令行獲取2個參數,一個可執行文件和一個文件。在做一些計算之後,我需要通過stdin將此計算的結果傳遞給可執行文件。Python發送數據到終端
1)這是可能的嗎? 2)如果是這樣,我怎麼能在Python中做到這一點
作爲參數傳遞的可執行文件我有一個python腳本從命令行獲取2個參數,一個可執行文件和一個文件。在做一些計算之後,我需要通過stdin將此計算的結果傳遞給可執行文件。Python發送數據到終端
1)這是可能的嗎? 2)如果是這樣,我怎麼能在Python中做到這一點
首先,你不應該使用os.system這是一個非常危險和壞習慣。
至於你的問題,用子可以做到以下幾點:
from subprocess import Popen, PIPE, STDOUT
#do some stuff
data = do_some_computation_from_file
#prepare your executable using subprocess.Popen
exe = Popen(['your_executable'], stdout=PIPE, stdin=PIPE, stderr=STDOUT)
#pass in the computed data to the executable and grap the result
result = exe.communicate(input=data)[0]
我假設以類似的方式,我可以得到可執行的結果早在計劃? –
在這個例子中,你實際上得到的結果'結果' – Chakib
哦,是的,對不起。還在看着Popen。 –