1. 知識儲備
\r
表示將光標的位置回退到本行的開頭位置
\b
表示將光標的位置回退一位
在 python
語言中, 使用 print
打印輸出時,默認是會進行換行的冤灾。如何讓其不換行呢球昨?
- 在
python 2.x
中的語法是在print
語句的末尾添加逗號徒恋,例如print x,
蚕断;或者使用sys.stdout.write()
對標準輸出進行重定向,如此文所示 https://segmentfault.com/q/1010000002810865 入挣。 - 在
python 3.x
中亿乳,print
成為了一個獨立的函數(shù),有一個end
參數(shù)径筏,可以指定輸出的結(jié)束符风皿,默認是\n
。
本文的實驗環(huán)境是 Python 3.6.1 |Anaconda 4.4.0 (64-bit)匠璧,Win10
2. 在命令行中實現(xiàn)倒計時功能
# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在一行中不斷刷新倒計時
import time
count_down = 10 # 設(shè)置倒計時時間,單位:秒
for i in range(count_down, 0, -1):
msg = u"\r系統(tǒng)將在 " + str(i) + "秒 內(nèi)自動退出"
print(msg, end="")
time.sleep(1)
end_msg = "結(jié)束" + " "*(len(msg)-len("結(jié)束")) # 如果單純只用“結(jié)束”二字咸这,無法完全覆蓋之前的內(nèi)容
print(u"\r"+end_msg)
3. 在命令行中實現(xiàn)“轉(zhuǎn)圈”功能
# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在一行中不斷刷新轉(zhuǎn)圈
import time
count_down = 10 # 設(shè)置倒計時時間夷恍,單位:秒
interval = 0.25 # 設(shè)置屏幕刷新的間隔時間,單位:秒
for i in range(0, int(count_down/interval)):
ch_list = ["\\", "|", "/", "-"]
index = i % 4
msg = "\r程序運行中 " + ch_list[index]
print(msg, end="")
time.sleep(interval)
print(u"\r結(jié)束" + " "*len(msg))
4. 在命令行中實現(xiàn)進度條功能
# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在命令行中實現(xiàn)進度條功能
import time
count_down = 10 # 設(shè)置倒計時時間,單位:秒
interval = 1 # 設(shè)置屏幕刷新的間隔時間酿雪,單位:秒
for i in range(0, int(count_down/interval)+1):
print("\r"+"▇"*i+" "+str(i*10)+"%", end="")
time.sleep(interval)
print("\n加載完畢")
注:方塊可以從輸入法的特殊符號中進行輸入遏暴。