相关疑难解决方法(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万
查看次数

动态获取另一个程序的输出作为输入

我有两个以这种方式使用的程序:

$ c_program | python_program.py
Run Code Online (Sandbox Code Playgroud)

c_program使用printf()和python_program.py读取打印的东西sys.stdin.readline()

我想立即打印python_program.py进程c_program的输出,以便它可以打印自己的当前输出.不幸的是,python_program.py仅在c_program结束后获取其输入.

我怎么解决这个问题?

c python linux bash stdio

10
推荐指数
3
解决办法
7288
查看次数

修改“... | tee -a out.txt”以实时流式传输输出,而不是在完成时?

我需要在文件上输出命令的输出。假设我的命令是zip -r zip.zip directory,我需要将(这些选项中的任何一个都可以)附加/写入文件(假设out.txt)。我zip zip.zip directory | tee -a out.txt到目前为止,但它似乎不起作用,它只是在命令结束时写入整个输出......我怎样才能做到这一点?

谢谢 ;)

bash stdout stderr output

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

标签 统计

bash ×2

python ×2

stdout ×2

buffered ×1

c ×1

linux ×1

output ×1

stderr ×1

stdio ×1