相关疑难解决方法(0)

禁用输出缓冲

Python的解释器默认启用输出缓冲sys.stdout吗?

如果答案是肯定的,那么禁用它的所有方法是什么?

建议到目前为止:

  1. 使用-u命令行开关
  2. 包装sys.stdout在每次写入后刷新的对象
  3. 设置PYTHONUNBUFFEREDenv var
  4. sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)

是否有任何其他方式来设置一些全局标志sys/ sys.stdout程序执行过程中?

python stdout buffered

487
推荐指数
10
解决办法
25万
查看次数

tee和脚本本质上等效吗?

在要捕获文件中进程的标准输出但仍要在终端中显示此输出的情况下,可以在script和之间进行选择tee。在这种情况下,这些工具在本质上是等效的,还是有(可能是微妙的)理由偏爱一种?


这些程序scripttee设计用于不同的目的:

  • script -制作终端会话的打字稿
  • tee - 管道配件

script和之间的重要区别tee是:

  • script传送它监督的进程的退出状态,而tee作为过滤器甚至不知道它。
  • script捕获其监视的进程的stdinstdoutstderr,而tee仅捕获其过滤的流。

在给定的上下文中,这些差异均不相关。

shell monitoring tee

3
推荐指数
1
解决办法
658
查看次数

标签 统计

buffered ×1

monitoring ×1

python ×1

shell ×1

stdout ×1

tee ×1