在程序完成之前,cmd.exe不会重定向错误

时间:2014-08-14 07:26:47

标签: python windows command-line cmd

我用web.py编写了一个程序,并使用2>error.txt将错误放入文件中。这在Linux上运行良好,但在Windows上,当发生错误时,文件中没有写入任何内容。我发现在Windows上,正常情况下发生错误,将关闭引发错误的程序,并将错误放入文件中。但问题是在web.py中发生错误,程序不会被关闭,因此错误不会写入文件。那我该怎么办?

1 个答案:

答案 0 :(得分:1)

this mailing list entry中声明

  

在Windows上,如果stdout和stderr引用了某个字符,则它们是无缓冲的   设备,否则完全缓冲(Windows没有行缓冲;   setvbuf(_IOLBF)等同于setvbuf(_IOFBF))。

我会尝试为此找到一个额外的来源,但这确实解释了你的问题。你可以在这里查看:

  

Disable output buffering

如何在Python中关闭输出缓冲。