python 进度_python循环

python 进度_python循环在 Python 中输出进度条可以通过多种方法实现 以下是几种常见的方法 方法一 使用 print 函数和 sys stdout write pythonimport sysimport time def progress bar num sum total rate float num float sum total rate num int rate

在Python中输出进度条可以通过多种方法实现,以下是几种常见的方法:

方法一:使用`print`函数和`sys.stdout.write`

python

import sys

import time

def progress_bar(num, sum_total):

rate = float(num) / float(sum_total)

rate_num = int(rate * 100)

sys.stdout.write('\r%d%% : ' % rate_num)

for i in range(0, num):

sys.stdout.write('█')

sys.stdout.flush()

if __name__ == '__main__':

for i in range(0, 100):

time.sleep(0.1)

progress_bar(i + 1, 100)

方法二:使用`time.sleep`模拟任务处理时间

python

import time

def simple_progress_bar(scale=10):

print('------执行开始------')

for i in range(scale + 1):

a = '*' * i

b = ' . . ' * (scale - i)

c = (i / scale) * 100

dur = time.perf_counter() - start

print('\r{:^3.0f}%[{}]{}s'.format(c, a, b, dur), end='')

sys.stdout.flush()

time.sleep(0.05)

if __name__ == '__main__':

start = time.perf_counter()

simple_progress_bar()

方法三:使用第三方库`tqdm`

python

from tqdm import tqdm

import time

mylist = [1, 2, 3, 4, 5, 6, 7, 8]

for i in tqdm(mylist):

time.sleep(1)

方法四:自定义进度条类

python

class ProgressBar:

def __init__(self, width=50):

self.pointer = 0

self.width = width

def __call__(self, x):

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

return self.pointer + ' ' * (self.width - self.pointer) + '% done'

if __name__ == '__main__':

pb = ProgressBar()

for i in range(101):

print(pb(i), end='\r')

time.sleep(0.1)

以上方法都可以用来在Python中输出进度条。你可以根据自己的需求选择合适的方法。如果需要更复杂的进度条效果,可以使用第三方库,如`Progress`或`tqdm`,它们提供了更多的功能和定制选项

编程小号
上一篇 2026-03-26 14:16
下一篇 2025-06-14 09:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/67642.html