我需要實現一個外部應用程序來計算Modbus通信的CRC值。 可執行需要的輸入串並還給輸出這樣的:Python子進程.Popen無法使用標準輸出
CRC16 = 0x67ED/26605
CRC16 (Modbus) = 0x7CED/31981
我所說的PROGRAMM事後在輸入手動鍵入。
p = Popen(["some_file.exe", "-x"], stdin=PIPE)
p.communicate("some_string")
目前爲止工作正常。
但是,我想將輸出保存到一個變量或其他東西(沒有額外的文件)供進一步的使用。
我知道有輸出和錯誤的論點,但輸入
p = Popen([file, "-x"], stdin=PIPE, stdout=PIPE, stderr=PIPE)
什麼也沒有發生在所有的時候。
有沒有人有想法該怎麼辦?
在此先感謝。
PS:在Windows 7
感謝您的回覆。我不知道,但這似乎並不奏效。我需要給程序一個輸入,所以需要一個'stdin = PIPE'。只使用這個參數是好的,但添加'stdout = PIPE'不是。如果你使用'stdin = PIPE',你必須指定一個值給stdin,否則它將爲空。如果你使用'stdin = PIPE',那麼我可以寫入一個變量'output = ...' – mulm
@mulm。 –