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

运行Python代码时,Cmd和Git bash有不同的结果

平台:Git bash MINGW64,Windows 7,64 CMD当我从Learn Python Hard Way ex11运行Python代码时.代码很简单.

print "How old are you?",
age = raw_input()
print "How tall are you?",
height = raw_input()
print "How much do you weigh?",
weight = raw_input()

print "So, you're %r old, %r tall and %r heavy." % (
    age, height, weight)
Run Code Online (Sandbox Code Playgroud)

但是他们在CMD和Git bash中有不同的结果.当我使用Git bash运行它时,raw_print()将首先运行.

当您输入3个答案时,它将在最后显示4个打印件.当我在CMD中运行时,它通常显示一个打印,一个raw_input().

有人可以解释一下吗?

编辑:实际上,我的目标是解释原因,而不是用flush来解决这个问题.所以与这个问题不同

python windows bash cmd

6
推荐指数
1
解决办法
2276
查看次数

标签 统计

python ×2

bash ×1

buffered ×1

cmd ×1

stdout ×1

windows ×1