python中print(obj) 與sys.stdout.write()的區別


print(obj) 其實等價於sys.stdout.write(obj+\n),而\r表示回到行首,所以需要輸出進度條時可以用以下代碼
rate = float(has_sent) / float(file_size)
rate_num = int(rate * 100)
sys.stdout.write("%s%% %s\r"%(rate_num, "*" * rate_num))

因為sys.stdout.write()沒有加\n,不會換行,而\r又會回到行首,后面的輸出覆蓋前面的輸出。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM