Python print在控制台刷新输出不换行

记录coding日常遇到的小Tips

问题场景:
代码中需要根据情况在控制台输出进度,而且进度输出的次数不一定, 有时会输出很多行。
需求:
输出日志,只需要在控制台刷新进度值,不需要换行

# -*- coding: utf-8 -*-
import time


def demo():
    print(">>> Start")
    for i in range(789):
        if i % 10 == 0:
            time.sleep(0.2)
            print("\r进度: {:.2f}%".format(100 * i / 788), end='')
    print("\r进度: 100.00%")
    print('>>> Done!')


if __name__ == '__main__':
    demo()

注意:

  • 1 \rend=''
  • 2 {:.2f} format() 中float保留指定小数位的写法
    Demo运行图
    在这里插入图片描述
Python中,有几种方式可以实现输出换行的功能。一种方式是使用转义字符"\n",它会告诉Python在这里插入一个换行符。例如,你可以这样使用print语句来输出换行:print("Hello\nWorld!")。这将在输出打印出两行文字,每行一个单词。 另一种方式是使用end参数。默认情况下,print语句的end参数的值是换行符"\n",这意味着每次调用print语句都会在结尾处添加一个换行符。如果你想要在某些情况下不换行,你可以将end参数的值设置为空字符串""。例如,你可以这样使用print语句来输出多行文字: a = "第一行" b = "第二行" c = "第三行" print(a, end="\n\n") print(b) print(c, end="!") 这段代码将在输出打印出三行文字,第一行和第三行之间有两个空行,而第三行的结尾处有一个感叹号。 此外,在print函数中还有其他参数可以控制输出格式,比如sep参数可以设置多个对象之间的分隔符,默认值是一个空格。如果你不想要分隔符,可以将sep参数的值设置为空字符串。另外,file参数可以指定输出的文件对象,默认是sys.stdout,表示输出控制台。flush参数可以控制是否立即刷新输出,默认是False,表示不立即刷新。 总结起来,Python中实现print输出换行有多种方式,包括使用转义字符"\n"、调整end参数的值以及设置其他参数来控制输出格式。希望这些方法对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值