以下是我尝试运行的示例代码:
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语句处于循环中时才会发生。任何人都可以帮助我理解为什么它会这样吗?
由于
答案 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的最后输入行,它们永远不会到来。