CMD調用Python時經常會發現執行過程中沒有print輸出,直到程序執行結束后才會將打印內容一次性輸出出來。這是應為Python的print輸出默認寫入stdout緩沖,總量達到4k后才會全部打印出來。Pycharm中屏蔽了這種緩沖,所以在Pycharm中調試時並不會發現這樣的問題。
一般使用-u參數啟動python,就可以立刻獲取輸出了。
1 python -u demo.py
但在某些情況下即使使用了-u參數也無濟於事,更好的方法是在print函數中修改一個參數:
1 print('right', flush=True)