使用python输出到两个不同的控制台

2022-02-25 00:00:00 python output console terminal

问题描述

我正在编写脚本,我有两种不同的输出,比如op1和op2。我想将op1输出到从中调用python进程的终端,而op2应该转储到另一个终端实例。我可以这样做吗?

即使答案是特定于Linux的,也可以,我需要一个临时解决方案。


解决方案

您可以将Python脚本写入文件,或将其输出通过管道传输到文件python script.py >> output.log,然后您可以tail使用-f使其不断更新控制台上的视图。

示例代码段

# logmaker.py
import time
import datetime

buffer_size = 0 # This makes it so changes appear without buffering
with open('output.log', 'a', buffer_size) as f:
    while(True):
        f.write('{}
'.format(datetime.datetime.now()))
        time.sleep(1)

运行该文件

python logmaker.py

然后在一个或多个控制台中执行

tail -f output.log

less根据您的喜好

less +F output.log

您应该会得到这样的持续更新

2016-07-06 10:52:44.997416
2016-07-06 10:52:45.998544
2016-07-06 10:52:46.999697

相关文章