ProgressBar#
- class astropy.utils.console.ProgressBar(total_or_items, ipython_widget=False, file=None)[源代码]#
基类:
object
在终端中显示进度条的类。
它可以与
with
声明:with ProgressBar(len(items)) as bar: for item in enumerate(items): bar.update()
或者作为发电机:
for item in ProgressBar(items): item.process()
- 参数:
- total_or_items :
int
或 sequencePYTHON:INT或PYTHON:SEQUENCE 如果为int,则为正在跟踪的进程中的增量数。如果是序列,则要迭代的项。
- ipython_widget : bool ,可选可选的布尔
如果
True
,进度条将显示为IPython笔记本小部件。- file : writable file-like object file-like object ,可选可写类文件对象python:类文件对象,可选
要写入进度条的文件。默认为
sys.stdout
. 如果file
不是tty(通过调用其isatty
成员,如果有,或特殊情况下黑客入侵IPython控制台),进度条将完全静音。
- total_or_items :
方法总结
map
(function, items[, multiprocess, file, ...])在显示完成百分比的进度条时,将函数映射到项目上。
map_unordered
(function, items[, ...])在项目上映射函数,报告进度。
update
([value])通过控制台或笔记本相应地更新进度条。
方法文件
- classmethod map(function, items, multiprocess=False, file=None, step=100, ipython_widget=False, multiprocessing_start_method=None)[源代码]#
在显示完成百分比的进度条时,将函数映射到项目上。
映射操作可以在项上以任意顺序运行,但结果将按顺序返回。
def work(i): print(i) ProgressBar.map(work, range(50))
- 参数:
- function : functionPYTHON:函数
为每个步骤调用的函数
- items : sequencePython :序列
序列,其中每个元素是要传递到的参数元组 功能 .
- multiprocess : bool ,
int
,可选Bool,python:int,可选 如果
True
使用multiprocessing
模块将每个任务分配到不同的处理器核心。如果数字大于1,则使用该数量的核心。- ipython_widget : bool ,可选可选的布尔
如果
True
,进度条将显示为IPython笔记本小部件。- file : writable file-like object file-like object ,可选可写类文件对象python:类文件对象,可选
要写入进度条的文件。默认为
sys.stdout
. 如果file
不是tty(通过调用其isatty
成员,如果有的话),滚动条将完全静音。- step :
int
,可选PYTHON:int,可选 至少每更新一次进度条 step 步数(默认值:100)。如果
multiprocess
是True
,这将影响items
作为单独的任务提交到进程池。如果items
很长。- multiprocessing_start_method :
str
,可选Python:字符串,可选 主要用于测试;如果有疑问,请将其保留为默认值。使用多处理时,使用“spawn”方法(Windows上的唯一选项)启动进程时会出现某些异常;使用“fork”方法(Linux上的默认设置)会出现其他异常。
- classmethod map_unordered(function, items, multiprocess=False, file=None, step=100, ipython_widget=False, multiprocessing_start_method=None)[源代码]#
在项目上映射函数,报告进度。
做一个
map
显示完成百分比的进度条时的操作。映射操作可以对项目以任意顺序运行,结果可以以任意顺序返回。def work(i): print(i) ProgressBar.map(work, range(50))
- 参数:
- function : functionPYTHON:函数
为每个步骤调用的函数
- items : sequencePython :序列
序列,其中每个元素是要传递到的参数元组 功能 .
- multiprocess : bool ,
int
,可选Bool,python:int,可选 如果
True
使用multiprocessing
模块将每个任务分配到不同的处理器核心。如果数字大于1,则使用该数量的核心。- ipython_widget : bool ,可选可选的布尔
如果
True
,进度条将显示为IPython笔记本小部件。- file : writable file-like object file-like object ,可选可写类文件对象python:类文件对象,可选
要写入进度条的文件。默认为
sys.stdout
. 如果file
不是tty(通过调用其isatty
成员,如果有的话),滚动条将完全静音。- step :
int
,可选PYTHON:int,可选 至少每更新一次进度条 step 步数(默认值:100)。如果
multiprocess
是True
,这将影响items
作为单独的任务提交到进程池。如果items
很长。- multiprocessing_start_method :
str
,可选Python:字符串,可选 主要用于测试;如果有疑问,请将其保留为默认值。使用多处理时,使用“spawn”方法(Windows上的唯一选项)启动进程时会出现某些异常;使用“fork”方法(Linux上的默认设置)会出现其他异常。