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