要启动cmd线路终端,请保持其活动状态,并继续从Kivy GUI向其发送命令

时间:2018-11-11 13:43:05

标签: python python-3.x subprocess pexpect

版本:Python 3.7 | 平台:Windows 7

我的目标:要启动cmd线路终端,请保持其活动状态,并继续从Kivy GUI向其发送命令

我的问题:子进程在命令执行后终止

说明:我有一个带有两个按钮的GUI。每个按钮应向终端发送一些命令。执行“ button1”回调函数后,生成的子进程终止。然后,当我尝试运行“ button2”回调时,出现错误"ValueError: I/O operation on closed file".

这是我的代码:

def button1_callback(self):
    self.child = popen_spawn.PopenSpawn("cmd.exe")
    self.child.sendline("dir")
    self.child.sendeof()
    self.txt += '\n\n' + self.child.read().decode()
    self.update()

def button2_callback(self):
    self.child.sendline("cd E:/temp")
    self.child.sendeof()
    self.txt += '\n\n' + self.child.read().decode()
    self.update()

0 个答案:

没有答案