8
我將命令行上的可執行文件傳遞給我的Python腳本。我做了一些計算,然後我想將STDIN上的這些計算結果發送到可執行文件。完成後,我想從STDOUT中獲取可執行文件的結果。Python Popen發送到標準輸入上處理,接收標準輸出
ciphertext = str(hex(C1))
exe = popen([sys.argv[1]], stdout=PIPE, stdin=PIPE)
result = exe.communicate(input=ciphertext)[0]
print(result)
當我打印result
時,我什麼也沒有,也沒有得到空白的一行。我確信可執行文件可以與數據一起工作,因爲我已經在命令行上使用'>'重複了同樣的事情,而且以前計算的結果相同。
你確定你已經測試的可執行的工作,即使沒有在一個換行符輸入結束? (「echo」會添加一個換行符,「echo -n」不會)。 – svk
@svk yep,使用換行符以及 –