我有一個接受來自用戶的輸入的python 3腳本,這個輸入是通過管道輸入到一個已經衍生出shell的子進程中。最初我打算將這些代碼與一個套接字放在一起,以便能夠製作我自己的非嚴肅的遠程管理工具,但是這對我目前的級別來說太難了。代碼:如何在不通信的情況下讀取python子進程標準輸出
import subprocess
p1 = subprocess.Popen(["/bin/sh"], stderr = subprocess.PIPE, stdin = subprocess.PIPE, stdout = subprocess.PIPE, encoding = "utf-8")
command = input("Command: ")
p1.stdin.write(command)
p1.stdout.read()
問題:沒有被打印出來。我搜索了無盡的時間 在線有一個原因,多天,但他們似乎並沒有 工作,和/或建議使用溝通()這是我不想 想做的事情。如果我可以通過 套接字實現此功能,那麼在進行思考時,我不能在每個命令之後關閉該進程。我還有 也試過了,到處寫之前,在讀之間,在 之後寫,幾乎到處都可以想到。它應該是簡單的 就足夠了,而不需要深入研究io模塊或緩衝規則(現在太遲了) 。我一直在爲此掙扎幾天 。
歡迎來到Stack Overflow!當您發佈代碼塊時,請在每行的開頭添加四個空格,以使其顯示爲代碼段。有關格式化帖子的更多信息,請閱讀幫助中心的[編輯幫助](// stackoverflow.com/editing-help)。 –