启发进度条
enlighten的Python项目详细描述
概述
启蒙进度条是python的控制台进度条模块。(是的,另一个。)
启蒙的主要优点是它允许在没有任何 重定向。
安装
PIP
$ pip install enlighten
软呢帽
$ dnf install python2-enlighten $ dnf install python3-enlighten
示例
基本
对于基本状态栏,直接调用Counter类。
importtimeimportenlightenpbar=enlighten.Counter(total=100,desc='Basic',unit='ticks')fornuminrange(100):time.sleep(0.1)# Simulate workpbar.update()
高级
要同时维护多个进度条或写入控制台,需要一个管理器。
高级输出仅在输出流sys.stdout默认情况下有效, 连接到TTY。get_manager可用于获取管理器实例。 如果流没有附加到tty,它将返回一个禁用的Manager实例 以及启用的实例(如果是)。
importtimeimportenlightenmanager=enlighten.get_manager()ticks=manager.counter(total=100,desc='Ticks',unit='ticks')tocks=manager.counter(total=20,desc='Tocks',unit='tocks')fornuminrange(100):time.sleep(0.1)# Simulate workprint(num)ticks.update()ifnotnum%5:tocks.update()manager.stop()
计数器
Counter类有两种输出格式,进度条和计数器。
当总数不是None且计数小于 总共。如果这两个条件都不满足,则使用计数器格式:
importtimeimportenlightencounter=enlighten.Counter(desc='Basic',unit='ticks')fornuminrange(100):time.sleep(0.1)# Simulate workcounter.update()
其他示例
- basic-基本进度条
- context manager-作为上下文管理器的管理器和计数器
- floats-支持floats
- multicolored-多色进度条
- multiple with logging-嵌套进度条和日志记录
- FTP downloader-显示从ftp下载文件的进度