Python的解释器默认启用输出缓冲sys.stdout吗?
如果答案是肯定的,那么禁用它的所有方法是什么?
建议到目前为止:
-u命令行开关sys.stdout在每次写入后刷新的对象PYTHONUNBUFFEREDenv varsys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)是否有任何其他方式来设置一些全局标志sys/ sys.stdout程序执行过程中?
在要捕获文件中进程的标准输出但仍要在终端中显示此输出的情况下,可以在script和之间进行选择tee。在这种情况下,这些工具在本质上是等效的,还是有(可能是微妙的)理由偏爱一种?
这些程序script和tee设计用于不同的目的:
script -制作终端会话的打字稿tee - 管道配件script和之间的重要区别tee是:
script传送它监督的进程的退出状态,而tee作为过滤器甚至不知道它。script捕获其监视的进程的stdin,stdout,stderr,而tee仅捕获其过滤的流。在给定的上下文中,这些差异均不相关。