如何在wxPython中向命令行提示符添加输入?
我有一段Python代码,它可以在执行命令行指令时,从控制台获取输出。
def OnClick(self, event):
cmd = self.command.GetValue()
if cmd:
input, output, errors = os.popen3(cmd)
errors = errors.read()
if errors:
dlg = wx.MessageDialog(self, errors,
'An error occurred',
wx.OK | wx.ICON_EXCLAMATION)
dlg.ShowModal()
self.output.SetValue('')
else:
self.output.SetValue(output.read())
这个方法在简单的打印输出时效果很好,但我在控制台上有一个需要输入密码的提示,我想通过wxPython来进行交互。请问这可能吗?在这种情况下该怎么做呢?
1 个回答
0
通常,当你有一个需要长时间运行的程序时,你需要使用线程。可以去wiki.wxpython.org/LongRunningTasks看看几个示例解决方案。当你到达输入密码的提示时,可以通过wx.CallAfter或wx.PostEvent向图形界面发送通知,显示一个对话框。虽然有一些方法可以和线程进行沟通,但这些内容比较复杂,我就不在这里详细讲了,你可以自己去网上查找相关信息。