參考鏈接:https://www.jianshu.com/p/eb5c23cd6e34
\r 能將光標定位到當前行的行首
\b則是將光標回退一位
光標的含義:
光標后面的輸出內容均會消失,光標回退后,后面位置的內容都會被抹除
print('按下回車開始計時,按下 Ctrl + C 停止計時。') print('第2行\r',end='mark')#這一行會消失,因為“第2行”輸出后,\r會將光標回退到行首,然后輸出end指定的內容即為“mark” #注意上面沒有換行符了,默認的end是\n print('第3行“第三行”不會消失') print('第3行\r“第3行”會消失')#因為輸出了第三行后,光標回退到行首,即后面的內容“第3行”被抹除了 print('第3行\b“行”會消失')#“\b"回退1位 print('第4行\r')#這個為什么沒有被抹除呢,看下面這一行 print('第4行\ra')#結合輸出結果來看,這個光標移到行首,后面的內容並不是立即被抹除的,而是輸出一位,抹除一位 print('第5行\r')#所以這一行輸出了”第5行“后,光標被移到行首了,然后輸出了默認的end值”\n",但是這樣的話結果中的第5行前不是應該有個空行嗎? #輸出 lient' '--host' 'localhost' '--port' '5819' 'c:\Users\Administrator.SC-201605202132\Envs\sort\app\forTest.py' 按下回車開始計時,按下 Ctrl + C 停止計時。 mark第3行“第三行”不會消失 “第3行”會消失 第3“行”會消失 第4行 a 4行 第5行
*)寫一個輸出進度的
import time def test(): for i in range(100): time.sleep(0.1) print('當前正運行第%d/%d次測試\r'%(i,100),end='')#必須要有這個end,要不沒有用 print('append content')#而且這一行也不能有,其實也沒必要有,因為如果后面一定有序列輸出的,還不如分多次在附加內容輸出后立即輸出次數序列 if __name__=="__main__": test()