首页 > 编程语言 >[Python急救站]文本进度条

[Python急救站]文本进度条

时间:2023-11-04 22:12:14浏览次数:48  
标签:急救站 scale 进度条 Python sleep time print 文本

完游戏的朋友们,是不是看到那种加载加载进度条,感觉特别不错呢,所以今天就来看看文本进度条怎么做。

1.基本的多行文本进度条

import time

scale = 10  # 变量scale表示输出进度条的精度
print("------执行开始------")
for i in range(scale + 1):
    a, b = '**' * i, '..' * (scale - i)
    c = (i / scale) * 100
    print("%{:^3.0f}[{}->{}]".format(c, a, b))
    time.sleep(0.1)  # 调用time中的sleep(t),将当前程序挂起t s,t可以是小数。
print("------执行结束------")

程序运行结果如下:

2.单行动态刷新

import time

for i in range(101):
    print("\r{:3}%".format(i), end="")
    time.sleep(0.05)

程序运行结果如下:

由于Pycharm集成环境本身屏蔽了单行刷新功能,如果要执行可以使用控制台(cmd)或者用Python编辑器的IDLE是执行这个代码

运行结果如下:

3.带刷新的文本进度条

将上面两个程序再整合一下,并加上计时器,就很像我们的下载时间是吧

# 微实例3.7.3带刷新的文本进度条
import time

scale = 50
print("执行开始".center(scale // 2, '-'))
t = time.perf_counter()
# 原来采用time.clock,但是Python3.8以上把这个函数去掉了,但是库里还包含着。
# 可以调用time.perf_counter() 或process_time()替换
for i in range(scale + 1):
    a = '*' * i
    b = '.' * (scale - i)
    c = (i / scale) * 100
    t -= time.perf_counter()
    s = t / 100000  # 如果调用的是time.clock就不用做除法转化
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, -s), end='')
    time.sleep(0.05)
print("\n" + "执行结束".center(scale // 2, '-'))

程序运行结果如下:

好了去试试吧!

对了,留一个问题,进度条反映了软件运行的执行速度,请思考并给出至少3种提高软件执行速度的方法。

标签:急救站,scale,进度条,Python,sleep,time,print,文本
From: https://www.cnblogs.com/python120/p/17809874.html

相关文章

  • python面向对象-学习笔记(八、综合案例)
    计算器,实现一些基本的操作,加减乘除运算,以及打印结果操作点击查看代码importwin32com.clientclassCaculator:#装饰器私有def__check_num_zsq(func):definner(self,n):ifnotisinstance(n,int):raiseTypeError("......
  • python实现手势识别的示例(入门)
    原文:https://pythonjishu.com/yoprvijnxxyihab/手势识别是计算机视觉领域的一个重要研究方向。在实际应用中,手势识别可以被用于人机交互、智能家居控制等领域。在本文中,我们将介绍如何使用Python实现手势识别的示例代码。环境搭建安装Python要使用Python进行手势识别的开发,首......
  • 升级linux下的python版本
    以centos7为例将python升级到3.10.111、安装必备软件包:##第一步基础包yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-devellibpcap-develxz-develgcc##第二步安装db4-devel,必先安装epel-releaseyumi......
  • Python 潮流周刊#25:性能最快的代码格式化工具 Ruff!
    你好,我是猫哥。这里每周分享优质的Python、AI及通用技术内容,大部分为英文。标题取自其中一则分享,不代表全部内容都是该主题,特此声明。本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿......
  • 【python进阶】14大模块200页知识体系md笔记,第4篇:linux命令进阶(2)
    本文从14大模块展示了python高级用的应用。分别有Linux命令,多任务编程、网络编程、Http协议和静态Web编程、html+css、JavaScript、jQuery、MySql数据库的各种用法、python的闭包和装饰器、mini-web框架、正则表达式等相关文章的详细讲述。完整版笔记直接地址:请移步这里共14......
  • Python02
    判断语句bool类型#bool类型bool_1=Truebool_2=Falseprint(f"bool_1变量的内容是:{bool_1},类型是:{type(bool_1)}")print(f"bool_2变量的内容是:{bool_2},类型是:{type(bool_2)}")#比较运算符的使用#==,!=,>,<,>=,<=num1=10num2=10print(f"10==10的结果是:{nu......
  • python3
    循环 1"""2while条件:3满足条件4#只要条件满足,会无限循环执行5"""6i=07sum=08whilei<=100:9sum=sum+i10i+=111print(sum)while循环猜数字1#无限次猜数字2importrandom3num=random.randint(1,100)......
  • python 4
    python函数函数:组织好的,可重复使用,实现功能的代码段len是python中内置的函数 str1="asdfaf"str2="asdfasdfasdff"str3="asdfasaf"#计算字符串的长度#用循环遍历的方法实现count=0foriinstr1:count+=1print(f"字符串{str1}的长度为:{count}")coun......
  • 学JAVA用PYTHON重写day02.5
    packageday02;publicclassDemo05{/*三个数字排序*/publicstaticvoidmain(String[]args){System.out.println("三个数字排序,从大到小:");inta=2;intb=5;intc=1;intt;if(a<b){......
  • python实现shellcode异或加密自动化
    实现的结果如下:1.python脚本里面xorkey随机生成长度16位2.加密后的payload和key直接写入到模板里面3.编译使用gcc编译每次输出文件名随机完成一个自动化过程用法pythonmain.pyshellcode.bin其中shellcode.bin是自己的shellcode二进制文件,项目中的是一个弹出错误框......