python 中 \n 和轉義r的作用和\r的實際應用


 

我們先看看這張轉義字符圖:

1. 知識儲備

\r 表示將光標的位置回退到本行的開頭位置
\b 表示將光標的位置回退一位

python 語言中, 使用 print 打印輸出時,默認是會進行換行的。如何讓其不換行呢?

  • python 2.x 中的語法是在 print 語句的末尾添加逗號,例如 print x, ;或者使用 sys.stdout.write() 對標准輸出進行重定向,如此文所示 https://segmentfault.com/q/1010000002810865
  • python 3.x 中,print 成為了一個獨立的函數,有一個 end 參數,可以指定輸出的結束符,默認是 \n

2. 在命令行中實現倒計時功能

 1 # __author__ = "Gao Zhengjie"
 2 # __date__ = "2018/1/5"
 3 # __Desc__ = 在一行中不斷刷新倒計時
 4 
 5 import time
 6 
 7 count_down = 10  # 設置倒計時時間,單位:秒
 8 for i in range(count_down, 0, -1):
 9     msg = u"\r系統將在 " + str(i) + "秒 內自動退出"
10     print(msg, end="")
11     time.sleep(1)
12 end_msg = "結束" + "  "*(len(msg)-len("結束"))  # 如果單純只用“結束”二字,無法完全覆蓋之前的內容
13 print(u"\r"+end_msg)

3. 在命令行中實現“轉圈”功能

 1 # __author__ = "Gao Zhengjie"
 2 # __date__ = "2018/1/5"
 3 # __Desc__ = 在一行中不斷刷新轉圈
 4 
 5 import time
 6 
 7 count_down = 10  # 設置倒計時時間,單位:秒
 8 interval = 0.25  # 設置屏幕刷新的間隔時間,單位:秒
 9 for i in range(0, int(count_down/interval)):
10     ch_list = ["\\", "|", "/", "-"]
11     index = i % 4
12     msg = "\r程序運行中 " + ch_list[index]
13     print(msg, end="")
14     time.sleep(interval)
15 print(u"\r結束" + "  "*len(msg))

 

4. 在命令行中實現進度條功能

 1 # __author__ = "Gao Zhengjie"
 2 # __date__ = "2018/1/5"
 3 # __Desc__ = 在命令行中實現進度條功能
 4 
 5 import time
 6 
 7 count_down = 10  # 設置倒計時時間,單位:秒
 8 interval = 1  # 設置屏幕刷新的間隔時間,單位:秒
 9 for i in range(0, int(count_down/interval)+1):
10     print("\r"+""*i+" "+str(i*10)+"%", end="")
11     time.sleep(interval)
12 print("\n加載完畢")

 

作者:高正傑
鏈接:https://www.jianshu.com/p/eb5c23cd6e34
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。

 

 


免責聲明!

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



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