0
我想要做的是創建一個服務器和一個客戶端,服務器能夠執行CMD命令。使用python執行CMD命令
我設法做服務器 - 客戶端通信,但我在使用python控制命令提示符時遇到問題。
我當前的代碼是:
import time
import _thread
import winpexpect
class CommandPrompt(object):
def __init__(self):
self.cmd = winpexpect.winspawn('cmd.exe')
def read(self):
while True:
if self.cmd.readline():
print(self.cmd.before)
def send(self,usinput):
self.cmd.sendline(usinput)
def close(self):
self.cmd.close()
cmd = CommandPrompt()
_thread.start_new_thread(cmd.read,())
time.sleep(1)
while True:
cmd.send(input('>>'))
有了這個代碼,我能夠執行shell命令,但它總是我錯過了最後一行時,一個顯示當前路徑,並等待我輸入ex:C:\Windows\system32>
。我認爲它沒有顯示該線的原因是因爲沒有輸入。
此外,經過一段時間沒有輸入任何命令它崩潰pexpect.TIMEOUT
,我知道我可以通過提高超時解決這個問題,但它並沒有改變我的閱讀方法有缺陷的事實。
任何人都可以幫我讀取命令提示符的輸出嗎?
對不起,如果我沒有描述的問題,我有足夠的好,這是我第一次尋求幫助這裏計算器:) ...
是的,但每次我在os.system中運行一個命令時,它都運行在不同的cmd實例中。我需要將所有命令運行在相同的cmd實例中,以便我可以執行諸如「cd foo」和「dir/d」之類的操作。感謝您的快速回復,雖然 –
@PopescuIonutAlexandru不用擔心!我將相應地編輯帖子 –