\r的意義
\r
表示將光標的位置回退到本行的開頭位置
\b表示將光標的位置回退一位
在python里print會默認進行換行,可以通過修改參數讓其不換行
(1) python2中可以在print語句的末尾加上逗號,代碼如下:
print "hello", print "world"
執行結果
hello world
請按任意鍵繼續. . .
(2)在python3里print是一個獨立函數,可以通過修改它的默認值來讓其不換行
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. """
將end參數改為其他的字符可以讓print不換行,來看代碼
print("Dream", "it", "possible", sep="-",end="/") print("Big big world")
運行結果如下:
Dream-it-possible/Big big world
Process finished with exit code 0
\r的應用
利用\r可以實現很多有趣的小功能
在命令行實現倒計時功能
1 # 顯示倒計時 2 import time 3 for i in range(10): 4 print("\r離程序退出還剩%s秒" % (9-i), end="") 5 time.sleep(1)
運行結果如圖
命令行實現轉圈功能
1 import time 2 lst = ["\\", "|", "/", "———"] 3 for i in range(20): 4 j = i % 4 5 print("\r" + lst[j], end="") 6 time.sleep(0.2)
實現進度條功能
1 # 進度條功能 2 import time 3 4 for i in range(10): 5 print("\r" + "■"*i, sep="", end="") 6 time.sleep(0.2) 7 print("\n下載完成")
運行效果如下
實現刪除效果功能
1 import time 2 s = "枝上柳綿吹又少,天涯何處無芳草" 3 l = len(s) 4 for i in range(l): 5 print("\r" + s[:l-1-i] + "|", end="") 6 time.sleep(0.15)
運行效果如圖