解決stderr重定向到stdout造成的輸出亂序問題
問題
python當中unittest
包的輸出直接輸向stderr
,如果我們的程式同時向stdout
也輸出了內容,在直接輸出的一切正常;但是在試圖重定向輸出到檔案的時候,就會因為stdout
有行緩衝,而stderr
沒有緩衝的這個不同步,導致最後的檔案內容亂序。
解決方式
在執行單元測試的時候,加上-u
引數關閉緩衝。
python當中unittest
包的輸出直接輸向stderr
,如果我們的程式同時向stdout
也輸出了內容,在直接輸出的一切正常;但是在試圖重定向輸出到檔案的時候,就會因為stdout
有行緩衝,而stderr
沒有緩衝的這個不同步,導致最後的檔案內容亂序。
在執行單元測試的時候,加上-u
引數關閉緩衝。