Python不在循环中打印值

时间:2017-10-22 22:34:16

标签: python

以下是我尝试运行的示例代码:

import sys
while True:
    print "Hello World"
    #sys.stdout.write("Hello World")
    #sys.stderr.write("Hello World")
    sys.stdout.flush()

这样运行良好并打印" Hello World"从python解释器运行时。 问题是当我尝试按如下方式运行它时,即使我刷新输出,写入管道也无法使用print和stdout。它仅在我取消注释sys.stderr.write()时才有效。

python test.py | tail -n 1

请注意,它仅在print语句处于循环中时才会发生。任何人都可以帮助我理解为什么它会这样吗?

由于

1 个答案:

答案 0 :(得分:4)

您正在产生无穷无尽的输出,而namespace School_Project.Models { using System; using System.Collections.Generic; public partial class Events { public int EventID { get; set; } public int ClassID { get; set; } public string Subject { get; set; } public string Description { get; set; } public System.DateTime Start { get; set; } public Nullable<System.DateTime> End { get; set; } public string ThemeColor { get; set; } public bool IsFullDay { get; set; } public virtual School_Class School_Class { get; set; } } } 正在等待来自stdin的最后输入行,它们永远不会到来。