我們先看看這張轉義字符圖:
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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。
鏈接:https://www.jianshu.com/p/eb5c23cd6e34
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。