将脚本的输出管道输出到

时间:2016-07-22 21:34:21

标签: python-2.7 file-io

我有一个Python脚本,有相当数量的打印语句。 在我的脚本中,有没有办法将函数的输出指定为less的管道?

我认为这样做的方法之一是启动less作为子进程,获取文件描述符,并更改stdout以进入less子进程。这是正确的方法,还是有更简单的方法呢?

请注意,这个问题不是纯粹的懒惰:) - 我不想手动将它传递给less,而且这个脚本托管在多台机器上,所以我不能{ {1}}很容易

1 个答案:

答案 0 :(得分:1)

好的,解决此问题的一种可能方法是打印到文件。由于您使用的是python 2.7,因此必须from __future__ import print_function。然后,您可以按照docs将所有输出路由到其他位置。之后,您可以将此文件用作subprocess.call()更少的arg。