如何为 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
我有一个使用 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