Python中 ‘\r‘ 的实际应用

1. 知识储备

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

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

  • 在 python 2.x 中的语法是在 print 语句的末尾添加逗号,例如 print x, ;或者使用 sys.stdout.write() 对标准输出进行重定向。
  • 在 python 3.x 中,print 成为了一个独立的函数,有一个 end 参数,可以指定输出的结束符,默认是 \n 。

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

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. 在命令行中实现“转圈”功能

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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. 在命令行中实现进度条功能

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加载完毕")

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

posted @   I'm_江河湖海  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示