【问题标题】:How to use 2 shells for a python script [closed]如何为 python 脚本使用 2 个 shell [关闭]
【发布时间】:2020-10-26 10:09:28
【问题描述】:

我有一个使用 curses 的 python 项目。我想打开另一个 shell 来管道我的一些输出,我该如何实现呢?

澄清:

我正在使用 python 的 Curses 模块编写 TUI。因此我最初的 bash shell 是一个 curses 窗口。

如果可以出于调试目的,我希望在另一个 bash shell 中实时更新变量。

我要问的是,是否有办法让 python 程序打开另一个 shell 并将标准输出通过管道传输到该 shell,而不是默认 shell,在我的例子中是 curses 环境的窗口。

【问题讨论】:

  • 你能详细说明你想做什么吗?有点不清楚
  • 我试图根据您的要求澄清这个问题。
  • 您的意思是要打开 2 个终端并在每个终端中运行 curses 控制的显示器吗?或者一个curses 窗口和另一个只显示滚动文本的终端?还是别的什么?
  • 我的意思是一个终端使用诅咒另一个终端只显示滚动文本,就像你的第二个选项一样。

标签: python bash shell curses


【解决方案1】:

几种可能性。


启动第二个终端窗口,并在其中运行:

tty
/dev/ttys000       # sample output - note down for next command

在您运行curses 的第一个终端中,执行:

echo "Hi" > /dev/ttys000

替代方法...使用以下方法创建一个fifo:

mkfifo fifo

等一下,新终端,运行:

while : ; do cat fifo; done

在第一个终端中,运行:

echo "Hi" > fifo

替代方法...尾随文件。

在您的 curses 终端中,将消息附加到文件中:

echo "Message" >> log.txt

在您的其他终端中,按照日志文件的结尾:

tail -f log.txt

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    相关资源
    最近更新 更多