目录
1. Simple Text-Based Progress Bar
2. Using tqdm (Recommended for Real Projects)
3. Customizing Output Format
首页 后端开发 Python教程 如何在Python的控制台中创建进度栏

如何在Python的控制台中创建进度栏

Oct 04, 2025 am 03:06 AM
python 进度条

答案:使用Python可创建控制台进度条,1. 通过内置函数用ASCII字符实现简单文本进度条,利用\r更新同一行;2. 推荐tqdm库自动显示百分比、耗时等;3. 可自定义手动进度条添加时间、ETA等信息。

How to create a progress bar in the console in Python

To create a progress bar in the console using Python, you don't need external libraries for basic implementations. You can build a simple and effective progress bar with just a few lines of code using built-in functions. Below are practical approaches to achieve this.

1. Simple Text-Based Progress Bar

A basic progress bar can be created using ASCII characters like (filled block) and spaces. The idea is to update the bar dynamically as a task progresses.

Here's how to do it:

import time
<p>def print_progress_bar(iteration, total, prefix='', suffix='', length=30):
percent = f"{100 <em> (iteration / float(total)):.1f}"
filled_length = int(length </em> iteration // total)
bar = '█' <em> filled_length   '-' </em> (length - filled_length)
print(f'\r{prefix} |{bar}| {percent}% {suffix}', end='\r')
if iteration == total:
print()</p><h1>Example usage</h1><p>total_steps = 50
for i in range(total_steps   1):
print_progress_bar(i, total_steps, prefix='Progress:', suffix='Complete', length=40)
time.sleep(0.1)  # Simulate work</p>

This function prints a progress bar that updates on the same line using \r. When the loop finishes, it prints a newline to lock the output.

If you're okay with using a third-party library, tqdm is the most popular and efficient way to create progress bars in Python.

Install it via pip:

pip install tqdm

Then use it like this:

from tqdm import tqdm
import time
<p>for i in tqdm(range(100), desc="Processing"):
time.sleep(0.05)</p>

tqdm automatically handles percentage, elapsed time, estimated remaining time, and speed — all with minimal code.

3. Customizing Output Format

You can enhance your manual progress bar by adding dynamic elements like time elapsed or estimated time left.

Example with elapsed time:

import time
<p>start_time = time.time()
total = 100</p><p>for i in range(total   1):
time_elapsed = time.time() - start_time
percent = f"{100 <em> i / total:.1f}"
bar = '█' </em> (i // 2)   '░' <em> (50 - i // 2)
eta = time_elapsed </em> (total / max(i, 1)) - time_elapsed if i > 0 else 0
print(f'\r[{bar}] {percent}% | Time: {time_elapsed:.1f}s | ETA: {eta:.1f}s', end='')
time.sleep(0.05)
print()</p>

Creating a progress bar manually gives you full control, while tqdm saves time and adds advanced features out of the box. For scripts and tools, either approach works well depending on your needs.

Basically, just update the same line using \r and format your visual indicators clearly.

以上是如何在Python的控制台中创建进度栏的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驱动投资研究,做出更明智的决策

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

如何从python中的unignts.txt文件安装包装 如何从python中的unignts.txt文件安装包装 Sep 18, 2025 am 04:24 AM

运行pipinstall-rrequirements.txt可安装依赖包,建议先创建并激活虚拟环境以避免冲突,确保文件路径正确且pip已更新,必要时使用--no-deps或--user等选项调整安装行为。

如何用Pytest测试Python代码 如何用Pytest测试Python代码 Sep 20, 2025 am 12:35 AM

Pytest是Python中简单强大的测试工具,安装后按命名规则自动发现测试文件。编写以test_开头的函数进行断言测试,使用@pytest.fixture创建可复用的测试数据,通过pytest.raises验证异常,支持运行指定测试和多种命令行选项,提升测试效率。

如何处理python中的命令行参数 如何处理python中的命令行参数 Sep 21, 2025 am 03:49 AM

theargparsemodulestherecommondedwaywaytohandlecommand-lineargumentsInpython,提供式刺激,typeValidation,helpmessages anderrornhandling; useSudys.argvforsimplecasesRequeRequeRingminimalSetup。

什么是BIP?为什么它们对比特币的未来如此重要? 什么是BIP?为什么它们对比特币的未来如此重要? Sep 24, 2025 pm 01:51 PM

目录什么是比特币改进提案(BIP)?为什么BIP如此重要?比特币改进提案(BIP)的历史BIP流程如何运作?BIP类型什么是信号以及矿工如何发出信号?Taproot快速试用BIP的利与弊结语‍自2011年以来,对比特币的任何改进都通过称为比特币改进提案或​​“BIP”的系统进行。比特币改进提案(BIP)为比特币如何发展提供了指导方针一般来说,BIP有三种可能的类型,其中两种与比特币的技术变革有关每个BIP都是从比特币开发者之间的非正式讨论开始的,他们可以在任何地方聚集,包括Twi

从新手到专家:10个必备的免费公共数据集网站 从新手到专家:10个必备的免费公共数据集网站 Sep 15, 2025 pm 03:51 PM

对于数据科学的初学者而言,从“毫无经验”到“行业专家”的跃迁之路,其核心就是不断地实践。而实践的基础,正是丰富多样的数据集。幸运的是,网络上有大量提供免费公共数据集的网站,它们是提升技能、磨练技术的宝贵资源。

如何使用Python中的@ContextManager Decorator创建上下文管理器? 如何使用Python中的@ContextManager Decorator创建上下文管理器? Sep 20, 2025 am 04:50 AM

Import@contextmanagerfromcontextlibanddefineageneratorfunctionthatyieldsexactlyonce,wherecodebeforeyieldactsasenterandcodeafteryield(preferablyinfinally)actsas__exit__.2.Usethefunctioninawithstatement,wheretheyieldedvalueisaccessibleviaas,andthesetup

电脑怎么选才适合大数据分析?高性能计算的配置指南 电脑怎么选才适合大数据分析?高性能计算的配置指南 Sep 15, 2025 pm 01:54 PM

大数据分析需侧重多核CPU、大容量内存及分层存储。首选多核处理器如AMDEPYC或RyzenThreadripper,兼顾核心数量与单核性能;内存建议64GB起步,优先选用ECC内存保障数据完整性;存储采用NVMeSSD(系统与热数据)、SATASSD(常用数据)和HDD(冷数据)组合,提升整体处理效率。

如何编写Python中日常任务的自动化脚本 如何编写Python中日常任务的自动化脚本 Sep 21, 2025 am 04:45 AM

Identifyrepetitivetasksworthautomating,suchasorganizingfilesorsendingemails,focusingonthosethatoccurfrequentlyandtakesignificanttime.2.UseappropriatePythonlibrarieslikeos,shutil,glob,smtplib,requests,BeautifulSoup,andseleniumforfileoperations,email,w

See all articles