代码改变世界程序员我是程序员;您好程先生;叫我序员就好了

Python中 '\r' 的实际应用

2018-01-05  本文已影响438人  高正杰

1. 知识储备

\r 表示将光标的位置回退到本行的开头位置
\b 表示将光标的位置回退一位

python 语言中, 使用 print 打印输出时,默认是会进行换行的。如何让其不换行呢?

本文的实验环境是 Python 3.6.1 |Anaconda 4.4.0 (64-bit),Win10

2. 在命令行中实现倒计时功能

# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在一行中不断刷新倒计时

import time

count_down = 10  # 设置倒计时时间,单位:秒
for i in range(count_down, 0, -1):
    msg = u"\r系统将在 " + str(i) + "秒 内自动退出"
    print(msg, end="")
    time.sleep(1)
end_msg = "结束" + "  "*(len(msg)-len("结束"))  # 如果单纯只用“结束”二字,无法完全覆盖之前的内容
print(u"\r"+end_msg)

3. 在命令行中实现“转圈”功能

# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在一行中不断刷新转圈

import time

count_down = 10  # 设置倒计时时间,单位:秒
interval = 0.25  # 设置屏幕刷新的间隔时间,单位:秒
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结束" + "  "*len(msg))

4. 在命令行中实现进度条功能

# __author__ = "Gao Zhengjie"
# __date__ = "2018/1/5"
# __Desc__ = 在命令行中实现进度条功能

import time

count_down = 10  # 设置倒计时时间,单位:秒
interval = 1  # 设置屏幕刷新的间隔时间,单位:秒
for i in range(0, int(count_down/interval)+1):
    print("\r"+"▇"*i+" "+str(i*10)+"%", end="")
    time.sleep(interval)
print("\n加载完毕")

注:方块可以从输入法的特殊符号中进行输入。

上一篇下一篇

猜你喜欢

热点阅读