python \r与\b的应用、光标的含义

参考链接:https://www.jianshu.com/p/eb5c23cd6e34

\r 能将光标定位到当前行的行首

\b则是将光标回退一位

光标的含义:

光标后面的输出内容均会消失,光标回退后,后面位置的内容都会被抹除

print('按下回车开始计时,按下 Ctrl + C 停止计时。')
print('第2行\r',end='mark')#这一行会消失,因为“第2行”输出后,\r会将光标回退到行首,然后输出end指定的内容即为“mark”
#注意上面没有换行符了,默认的end是\n
print('第3行“第三行”不会消失')
print('第3行\r“第3行”会消失')#因为输出了第三行后,光标回退到行首,即后面的内容“第3行”被抹除了
print('第3行\b“行”会消失')#“\b"回退1位
print('第4行\r')#这个为什么没有被抹除呢,看下面这一行
print('第4行\ra')#结合输出结果来看,这个光标移到行首,后面的内容并不是立即被抹除的,而是输出一位,抹除一位
print('第5行\r')#所以这一行输出了”第5行“后,光标被移到行首了,然后输出了默认的end值”\n",但是这样的话结果中的第5行前不是应该有个空行吗?

#输出
lient' '--host' 'localhost' '--port' '5819' 'c:\Users\Administrator.SC-201605202132\Envs\sort\app\forTest.py'
按下回车开始计时,按下 Ctrl + C 停止计时。
mark第3行“第三行”不会消失
“第3行”会消失
第3“行”会消失
第4行
a 4行
第5行

  

*)写一个输出进度的

import time


def test():
    for i in range(100):
        time.sleep(0.1)
        print('当前正运行第%d/%d次测试\r'%(i,100),end='')#必须要有这个end,要不没有用
        print('append content')#而且这一行也不能有,其实也没必要有,因为如果后面一定有序列输出的,还不如分多次在附加内容输出后立即输出次数序列
if __name__=="__main__":
    test()

  

转载于:https://www.cnblogs.com/Gaoqiking/p/11254505.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值