解决stderr重定向到stdout造成的输出乱序问题
解决stderr重定向到stdout造成的输出乱序问题
问题
python当中unittest包的输出直接输向stderr,如果我们的程序同时向stdout也输出了内容,在直接输出的一切正常;但是在试图重定向输出到文件的时候,就会因为stdout有行缓冲,而stderr没有缓冲的这个不同步,导致最后的文件内容乱序。
解决方式
在运行单元测试的时候,加上-u参数关闭缓冲。
python当中unittest包的输出直接输向stderr,如果我们的程序同时向stdout也输出了内容,在直接输出的一切正常;但是在试图重定向输出到文件的时候,就会因为stdout有行缓冲,而stderr没有缓冲的这个不同步,导致最后的文件内容乱序。
在运行单元测试的时候,加上-u参数关闭缓冲。
