python中\r的意義及用法
阿新 • • 發佈:2018-12-21
\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)
執行效果如圖