在终端内部运行时如何查看python文件的整个输出?

时间:2017-01-24 02:22:23

标签: python macos terminal iterm2

终端在每次迭代时向上滚动时自动剪​​切输出。

1 个答案:

答案 0 :(得分:-1)

默认情况下,mac终端将具有有限的无缓冲行数。说1000。

当您运行程序并且输出超过1000行时,您的行将从内存中丢失。它就像FIFO缓冲队列。

基本上是你问题的答案:

`Is there a way to store the output of the previously run command in a text file?` is no. Sorry.

您可以重新运行该程序并通过将其重定向到另一个文件来保留输出。或者增加缓冲区中的行数(也许使其无限制)

您可以使用less来完成输出:

your_command | less 

您的Enter密钥会让您失望。

另外,按q退出。

您可以将输出重新路由到文件

在一个终端选项卡中运行程序并将输出重定向到这样的output.log文件。

python program.py > output.log 

在另一个标签中,您可以在同一日志文件中tailf查看输出。

tailf output.log

要查看完整输出,请在任何文本编辑器中打开日志文件。

您可以考虑增加回滚缓冲区。

enter image description here

如果要查看数据并将其运行到文件,请使用tee,例如

火花壳| tee tmp.out