美文网首页工作生活
Python 自定义控制台简单进度条

Python 自定义控制台简单进度条

作者: dawsonenjoy | 来源:发表于2019-07-02 11:49 被阅读0次

    首先来回顾下\r回车符和print()函数的end参数:

    \r回车符

    代表回到本行开头打印

    print(xxx, end=xxx)

    print输出语句的end参数代表输出的后缀,默认是\n,所以一般print输出后默认会换行

    进度条思路

    控制台进度条的样式一般是在同一行不断更新读条长度,并输出百分比,因此可以首先将print函数的end参数设置为空字符串,从而避免换行,再通过\r不断回到行首重新输出,以此覆盖改行的输出内容,不断循环即可,举例:

    import time
    for i in range(0, 101):
        time.sleep(0.01)
        print("\r" + "="*i + ">", end="")
    

    此时就可以看到在单行里不断伸长的进度条了,下面来个稍微好看点的进度条示例(增加了临界点和百分比显示)

    代码示例
    import time
    for i in range(0, 101):
        time.sleep(0.01)
        x = "{}>".format((i//2)*"=")
        print("\r|{:<52}|{:>3}%".format(x, i), end="")
        # 利用了format格式化,{:<52}代表读条长度为52,并向左居中
    
    # 结果显示:
    # |===================>                                | 39%
    

    相关文章

      网友评论

        本文标题:Python 自定义控制台简单进度条

        本文链接:https://www.haomeiwen.com/subject/inczcctx.html