如何为 python 脚本使用 2 个 shell

How to use 2 shells for a python script

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

澄清:

我正在使用 python 的 Curses 模块编写 TUI。因此我的初始 bash shell 是一个诅咒 window.

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

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

几种可能性。


启动第二个终端 window,并在那里 运行:

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