Linux 如何在Python中打开新控制台,并从键入控制台的用户那里获取数据?

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\"'") 但是这些知识对我来说是无助的,因为我不知道如何与这个新的控制台窗口进行交流 任何帮助都将是非常宝贵的:)我有点

我正在寻找一个Python3脚本片段,它可以打开新的控制台窗口并与之通信

一些场景:

  • 打开新控制台
  • 提示“输入一些数据”
  • 用户写入一些数据
  • 数据从控制台发送回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()