绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
python3下的进度条大全,值得收藏
2019-11-22 10:23:21

易三一世 



1.方式一:

1.1 代码

from __future__ import division

import sys,time

j = '#'

if __name__ == '__main__':

for i in range(1,61):

j += '#'

sys.stdout.write(str(int((i/60)*100))+'% '+j+'->'+ "\r")

sys.stdout.flush()

time.sleep(0.1)

print

1.2 效果,jdt1图片

2.方式二:

2.1 代码

import sys

from time import sleep

def viewBar(i):

output = sys.stdout

for count in range(0, i + 1):

second = 0.1

sleep(second)

output.write('\rcomplete percent ----->:%.0f%%' % count)

output.flush()

viewBar(100)

2.2 效果图,jdt2图片

3. 方式三:

3.1 安装tqdm模块

pip3.8 install tqdm #注意一般电脑是安装是pip install tqdm

3.2 代码:

from time import sleep #这个也可以为:import time即可

from tqdm import tqdm

for i in tqdm(range(1, 500)):

sleep(0.01)

3.3 效果图,jdt3图片

4.方式四:

4.1 代码

class ProgressBar():

def __init__(self, width=50):

self.pointer = 0

self.width = width

def __call__(self,x):

# x in percent

self.pointer = int(self.width*(x/100.0))

return "|" + "#"*self.pointer + "-"*(self.width-self.pointer)+ "|\n %d percent done" % int(x)

if __name__ == '__main__':

import time,os

pb = ProgressBar()

for i in range(101):

os.system('clear')

print( pb(i))

time.sleep(0.1)

4.2 效果图,jdt4图片

5.方式五

5.1 代码

import sys

import time

def view_bar(num,total):

rate = num / total

rate_num = int(rate * 100)

r = '\r%s>%d%%' % ('=' * rate_num, rate_num,)

sys.stdout.write(r)

sys.stdout.flush

if __name__ == '__main__':

for i in range(0, 101):

time.sleep(0.1)

view_bar(i, 100)

5.2 效果图,jdt5图片

6.方式六

6.1 代码

import time

for i in range(1,101):

print('>'*i+f'{i}%' + '\r',end='')

time.sleep(0.1)

6.2 效果图。jdt6图片

7.方式七

7.1 代码

import sys,time

print("正在下载:...")

for i in range(101):

sys.stdout.write("->"+str(i)+"%")

sys.stdout.flush()

time.sleep(0.1)

print("\n"+"下载完成!")

7.2 效果图,jdt7图片

8.方式八:

8.1 代码:

import sys, time

class ShowProcess():

i = 0 # 当前的处理进度

max_steps = 0 # 总共需要处理的次数

max_arrow = 50 #进度条的长度

infoDone = 'done'

# 初始化函数,需要知道总共的处理次数

def __init__(self, max_steps, infoDone = 'Done'):

self.max_steps = max_steps

self.i = 0

self.infoDone = infoDone

# 显示函数,根据当前的处理进度i显示进度

# 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%

def show_process(self, i=None):

if i is not None:

self.i = i

else:

self.i += 1

num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'

num_line = self.max_arrow - num_arrow #计算显示多少个'-'

percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%

process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\

+ '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到左边

sys.stdout.write(process_bar) #这两句打印字符到终端

sys.stdout.flush()

if self.i >= self.max_steps:

self.close()

def close(self):

print('')

print(self.infoDone)

self.i = 0

if __name__=='__main__':

max_steps = 100

process_bar = ShowProcess(max_steps, 'OK')

for i in range(max_steps):

process_bar.show_process()

time.sleep(0.01)

8.2效果图,jdt8图片

总结完美,我比较喜欢,简单代码的。进度条3

因为安装tqdm模块,所以代码简单,好看。

你喜欢吗?

分享好友

分享这个小栈给你的朋友们,一起进步吧。

应用开发
创建时间:2020-06-17 15:31:04
应用软件开发是指使用程序语言C#、java、 c++、vb等语言编写,主要是用于商业、生活应用的软件的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~