用python原始库函数编写一条进度条色带,同时以文字显示完成比例
时间: 2023-05-13 18:06:49 浏览: 53
可以使用Python的tqdm库来实现进度条,同时使用ANSI转义序列来实现色带效果。以下是示例代码:
```python
from tqdm import tqdm
import sys
# 设置进度条长度
bar_length = 50
# 定义ANSI转义序列,用于设置文本颜色
color_codes = {
'red': '\033[91m',
'green': '\033[92m',
'yellow': '\033[93m',
'blue': '\033[94m',
'purple': '\033[95m',
'cyan': '\033[96m',
'white': '\033[97m',
'reset': '\033[0m'
}
# 定义进度条函数
def progress_bar(iteration, total, prefix='', suffix='', decimals=1, length=bar_length, fill='█', print_end='\r'):
percent = f"{100 * (iteration / float(total)):.{decimals}f}"
filled_length = int(length * iteration // total)
bar = fill * filled_length + '-' * (length - filled_length)
sys.stdout.write(f'\r{prefix} |{bar}| {percent}% {suffix}')
sys.stdout.flush()
if iteration == total:
sys.stdout.write('\n')
# 示例用法
for i in tqdm(range(100), desc='Progress', bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]'):
progress_bar(i, 100, prefix='Progress:', suffix='Complete', length=bar_length, fill=color_codes['green'] + '█' + color_codes['reset'])
```
这段代码会输出一个进度条,同时使用ANSI转义序列将进度条染成绿色。你可以根据需要修改颜色和进度条长度等参数。