Linux 如何在Python中打开新控制台,并从键入控制台的用户那里获取数据?
我正在寻找一个Python3脚本片段,它可以打开新的控制台窗口并与之通信 一些场景:Linux 如何在Python中打开新控制台,并从键入控制台的用户那里获取数据?,linux,python-3.x,console-application,Linux,Python 3.x,Console Application,我正在寻找一个Python3脚本片段,它可以打开新的控制台窗口并与之通信 一些场景: 打开新控制台 提示“输入一些数据” 用户写入一些数据 数据从控制台发送回Python脚本 数据在脚本中处理 一些信息被发送并显示在先前打开的控制台上 我知道如何打开新窗口: os.system("gnome-terminal -e 'bash -c \"some instruction\"'") 但是这些知识对我来说是无助的,因为我不知道如何与这个新的控制台窗口进行交流 任何帮助都将是非常宝贵的:)我有点
- 打开新控制台
- 提示“输入一些数据”
- 用户写入一些数据
- 数据从控制台发送回Python脚本
- 数据在脚本中处理
- 一些信息被发送并显示在先前打开的控制台上
os.system("gnome-terminal -e 'bash -c \"some instruction\"'")
但是这些知识对我来说是无助的,因为我不知道如何与这个新的控制台窗口进行交流
任何帮助都将是非常宝贵的:)我有点不确定您为什么要这样做。我是否可以建议使用线程和: 现在,您可以从控制台向另一个python脚本发送命令。这个工人现在可以做你想做的任何事情。有关更详细的示例,请参见
或者,如果这是不可接受的,那么您尝试从命令行双向“管道”数据。看看他们在做什么:
proc = subprocess.Popen(['some_cmd', '--command_line_parameters'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()
我在两个控制台之间使用了套接字通信 这是一种变通方法,但此解决方案具有我在程序中想要的所有功能
我已经编写了第二个Python脚本,它连接到我的主程序,然后从用户那里获取输入并将其发送到主程序。我有一个多线程应用程序,它登录到一个控制台,其中一个线程负责与用户通信。这一个线程应该有新的控制台窗口,因为以前的日志可能非常不可用。这更有意义。我想看看子流程和popen。这可能值得关注,并为此编写一个轻量级python文件。这可能会使以后添加某些内容(如命令行参数)变得更容易。我过去也做过类似的事情,创建了一个相对简单的套接字服务器。其他人则使用了
proc = subprocess.Popen(['some_cmd', '--command_line_parameters'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = proc.communicate()