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

Aal*_*lok 5 python terminal console output

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

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

bak*_*kal 7

您可以将 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('{}\n'.format(datetime.datetime.now()))
        time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

运行那个文件

python logmaker.py
Run Code Online (Sandbox Code Playgroud)

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

tail -f output.log
Run Code Online (Sandbox Code Playgroud)

或者less如果你喜欢

less +F output.log
Run Code Online (Sandbox Code Playgroud)

你应该得到这样的持续更新

2016-07-06 10:52:44.997416
2016-07-06 10:52:45.998544
2016-07-06 10:52:46.999697
Run Code Online (Sandbox Code Playgroud)