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 : intsequencePYTHON:INT或PYTHON:SEQUENCE

如果为int,则为正在跟踪的进程中的增量数。如果是序列,则要迭代的项。

ipython_widget : bool ,可选可选的布尔

如果 True ,进度条将显示为IPython笔记本小部件。

file : writable file-like object file-like object ,可选可写类文件对象python:类文件对象,可选

要写入进度条的文件。默认为 sys.stdout . 如果 file 不是tty(通过调用其 isatty 成员,如果有,或特殊情况下黑客入侵IPython控制台),进度条将完全静音。

方法总结

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 : boolint ,可选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)。如果 multiprocessTrue ,这将影响 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 : boolint ,可选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)。如果 multiprocessTrue ,这将影响 items 作为单独的任务提交到进程池。如果 items 很长。

multiprocessing_start_method : str ,可选Python:字符串,可选

主要用于测试;如果有疑问,请将其保留为默认值。使用多处理时,使用“spawn”方法(Windows上的唯一选项)启动进程时会出现某些异常;使用“fork”方法(Linux上的默认设置)会出现其他异常。

update(value=None)[源代码]#

通过控制台或笔记本相应地更新进度条。