rich.progress

class rich.progress.BarColumn(bar_width=40, style='bar.back', complete_style='bar.complete', finished_style='bar.finished', pulse_style='bar.pulse', table_column=None)[source]

渲染一个可视化进度条。

参数
  • bar_width (Optional[int], optional) – 进度条的宽度,或 None 表示使用完整宽度。默认为 40。

  • style (StyleType, optional) – 进度条背景的样式。默认为“bar.back”。

  • complete_style (StyleType, optional) – 完成部分的进度条样式。默认为“bar.complete”。

  • finished_style (StyleType, optional) – 完成后的进度条样式。默认为“bar.finished”。

  • pulse_style (StyleType, optional) – 脉冲进度条的样式。默认为“bar.pulse”。

  • table_column (Optional[Column]) –

render(task)[source]

获取任务的进度条小部件。

参数

task (Task) –

返回类型

ProgressBar

class rich.progress.DownloadColumn(binary_units=False, table_column=None)[source]

渲染已下载的文件大小和总大小,例如“0.5/2.3 GB”。

参数
  • binary_units (bool, optional) – 使用二进制单位,KiB、MiB 等。默认为 False。

  • table_column (Optional[Column]) –

render(task)[source]

计算已完成和总大小的公共单位。

参数

task (Task) –

返回类型

文本

class rich.progress.FileSizeColumn(table_column=None)[source]

渲染已完成的文件大小。

参数

table_column (Optional[Column]) –

render(task)[source]

显示已完成的数据。

参数

task (Task) –

返回类型

文本

class rich.progress.MofNCompleteColumn(separator='/', table_column=None)[source]

渲染已完成的计数/总计数,例如“10/1000”。

最适合具有整数数量的有限任务。

使用空格填充已完成的计数,以便进度长度不会随着任务进度超过 10 的次方而改变。

参数
  • separator (str, optional) – 用于分隔已完成和总值的值。默认为“/”。

  • table_column (Optional[Column]) –

render(task)[source]

显示已完成/总计。

参数

task (Task) –

返回类型

文本

class rich.progress.Progress(*columns, console=None, auto_refresh=True, refresh_per_second=10, speed_estimate_period=30.0, transient=False, redirect_stdout=True, redirect_stderr=True, get_time=None, disable=False, expand=False)[source]

渲染自动更新的进度条。

参数
  • console (Console, optional) – 可选的 Console 实例。默认情况下将创建一个写入 stdout 的内部 Console 实例。

  • auto_refresh (bool, optional) – 启用自动刷新。如果禁用,则需要调用 refresh()

  • refresh_per_second (Optional[float], optional) – 每秒刷新进度信息的次数,或 None 表示使用默认值 (10)。默认为 None。

  • speed_estimate_period (float) – (float, optional): 用于计算速度估算的周期(以秒为单位)。默认为 30。

  • transient (bool) – (bool, optional): 退出时清除进度。默认为 False。

  • redirect_stdout (bool) – (bool, optional): 启用 stdout 重定向,以便可以使用 print。默认为 True。

  • redirect_stderr (bool) – (bool, optional): 启用 stderr 重定向。默认为 True。

  • get_time (Optional[Callable[[], float]]) – (Callable, optional): 获取当前时间的可调用对象,或 None 表示使用 Console.get_time。默认为 None。

  • disable (bool, optional) – 禁用进度显示。默认为 False

  • expand (bool, optional) – 将任务表格扩展以适合宽度。默认为 False。

  • columns (Union[str, ProgressColumn]) –

add_task(description, start=True, total=100.0, completed=0, visible=True, **fields)[source]

在进度显示中添加一个新的“任务”。

参数
  • description (str) – 任务的描述。

  • start (bool, optional) – 立即开始任务(以计算经过时间)。如果设置为 False,则需要手动调用 start。默认值为 True。

  • total (float, optional) – 如果已知,进度中的总步骤数。设置为 None 以呈现脉冲动画。默认值为 100。

  • completed (int, optional) – 到目前为止完成的步骤数。默认值为 0。

  • visible (bool, optional) – 启用任务显示。默认值为 True。

  • **fields (str) – 渲染所需的附加数据字段。

返回

在调用 update 时可以使用的 ID。

返回类型

TaskID

advance(task_id, advance=1)[source]

将任务推进一定数量的步骤。

参数
  • task_id (TaskID) – 任务的 ID。

  • advance (float) – 要推进的步骤数。默认为 1。

返回类型

None

property finished: bool

检查所有任务是否都已完成。

classmethod get_default_columns()[source]
获取用于新 Progress 实例的默认列
  • 用于描述的文本列(TextColumn)

  • 进度条本身(BarColumn)

  • 显示完成百分比的文本列(TextColumn)

  • 预计剩余时间列(TimeRemainingColumn)

如果创建 Progress 实例时未传递 columns 参数,则将使用此处定义的默认列。

您也可以在默认列之前和/或之后使用自定义列创建 Progress 实例,例如

progress = Progress(

SpinnerColumn(), *Progress.default_columns(), “Elapsed:”, TimeElapsedColumn(),

)

此代码显示了 Progress 显示的创建,其中包含左侧的微调器、默认列以及带标签的经过时间列。

返回类型

Tuple[ProgressColumn, …]

get_renderable()[source]

获取进度显示的可渲染对象。

返回类型

Union[ConsoleRenderable, RichCast, str]

get_renderables()[source]

获取用于进度显示的多个可渲染对象。

返回类型

Iterable[Union[ConsoleRenderable, RichCast, str]]

make_tasks_table(tasks)[source]

获取用于渲染进度显示的表格。

参数

tasks (Iterable[Task]) – 任务实例的可迭代对象,每个实例对应表格的一行。

返回

表格实例。

返回类型

Table

open(file: Union[str, PathLike[str], bytes], mode: typing_extensions.Literal[rb], buffering: int = -1, encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, *, total: Optional[int] = None, task_id: Optional[TaskID] = None, description: str = 'Reading...') BinaryIO[source]
open(file: Union[str, PathLike[str], bytes], mode: Union[typing_extensions.Literal[r], typing_extensions.Literal[rt]], buffering: int = -1, encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, *, total: Optional[int] = None, task_id: Optional[TaskID] = None, description: str = 'Reading...') TextIO

在从二进制文件读取时跟踪进度。

参数
  • path (Union[str, PathLike[str]]) – 要读取的文件的路径。

  • mode (str) – 用于打开文件的模式。仅支持“r”、“rb”或“rt”。

  • buffering (int) – 要使用的缓冲策略,请参见 io.open().

  • encoding (str, optional) – 在文本模式下读取时要使用的编码,请参见 io.open().

  • errors (str, optional) – 用于解码错误的错误处理策略,请参见 io.open().

  • newline (str, optional) – 处理文本模式下换行符的策略,请参见 io.open().

  • total (int, optional) – 要读取的字节总数。如果未给出,则使用 os.stat(path).st_size。

  • task_id (TaskID) – 要跟踪的任务。默认是新的任务。

  • description (str, optional) – 任务的描述,如果创建了新任务。

返回

一个以二进制模式可读的文件类对象。

返回类型

BinaryIO

引发

ValueError – 当给出无效模式时。

refresh()[source]

刷新(渲染)进度信息。

返回类型

None

remove_task(task_id)[source]

如果存在,则删除任务。

参数

task_id (TaskID) – 任务 ID。

返回类型

None

reset(task_id, *, start=True, total=None, completed=0, visible=None, description=None, **fields)[source]

重置任务,使已完成为 0 并且时钟被重置。

参数
  • task_id (TaskID) – 任务的 ID。

  • start (bool, optional) – 重置后启动任务。默认为 True。

  • total (float, optional) – 任务中新的总步骤数,或 None 以使用当前总数。默认为 None。

  • completed (int, optional) – 已完成的步骤数。默认为 0。

  • visible (bool, optional) – 启用任务显示。默认值为 True。

  • description (str, optional) – 如果不为 None,则更改任务描述。默认为 None。

  • **fields (str) – 渲染所需的附加数据字段。

返回类型

None

start()[source]

启动进度显示。

返回类型

None

start_task(task_id)[source]

启动任务。

启动任务(在计算经过时间时使用)。如果您在 add_task 中调用了 start=False,则可能需要手动调用此函数。

参数

task_id (TaskID) – 任务的 ID。

返回类型

None

stop()[source]

停止进度显示。

返回类型

None

stop_task(task_id)[source]

停止任务。

这将冻结任务的经过时间。

参数

task_id (TaskID) – 任务的 ID。

返回类型

None

property task_ids: List[TaskID]

任务 ID 列表。

property tasks: List[Task]

获取 Task 实例列表。

track(sequence, total=None, task_id=None, description='Working...', update_period=0.1)[source]

通过迭代序列来跟踪进度。

参数
  • sequence (Sequence[ProgressType]) – 要迭代和跟踪进度的值序列。

  • total (可选[浮点数]) – (浮点数,可选): 总步数。默认值为 len(sequence)。

  • task_id (可选[TaskID]) – (TaskID): 要跟踪的任务。默认值为新任务。

  • description (字符串) – (字符串,可选): 如果创建了新任务,则为任务描述。

  • update_period (浮点数, 可选) – 更新() 调用之间的最小时间(以秒为单位)。默认为 0.1。

返回

从提供的序列中取出的值的可迭代对象。

返回类型

Iterable[ProgressType]

update(task_id, *, total=None, completed=None, advance=None, description=None, visible=None, refresh=False, **fields)[source]

更新与任务关联的信息。

参数
  • task_id (TaskID) – 任务 ID (由 add_task 返回)。

  • total (浮点数, 可选) – 如果不为 None,则更新 task.total。

  • completed (浮点数, 可选) – 如果不为 None,则更新 task.completed。

  • advance (浮点数, 可选) – 如果不为 None,则将值添加到 task.completed。

  • description (字符串, 可选) – 如果不为 None,则更改任务描述。

  • visible (布尔值, 可选) – 如果不为 None,则设置 visible 标志。

  • refresh (布尔值) – 强制刷新进度信息。默认为 False。

  • **fields (Any) – 渲染所需的其他数据字段。

返回类型

None

wrap_file(file, total=None, *, task_id=None, description='Reading...')[source]

跟踪从二进制文件读取文件的进度。

参数
  • file (BinaryIO) – 以二进制模式打开的文件类对象。

  • total (整数, 可选) – 要读取的总字节数。除非提供了具有总量的任务,否则必须提供此值。

  • task_id (TaskID) – 要跟踪的任务。默认是新的任务。

  • description (str, optional) – 任务的描述,如果创建了新任务。

返回

一个以二进制模式可读的文件类对象。

返回类型

BinaryIO

引发

ValueError – 当无法从参数或任务中提取总量值时。

class rich.progress.ProgressColumn(table_column=None)[source]

进度显示中使用的窗口小部件的基类。

参数

table_column (Optional[Column]) –

get_table_column()[source]

获取表格列,用于构建任务表格。

返回类型

Column

abstract render(task)[source]

应返回可渲染对象。

参数

task (Task) –

返回类型

Union[ConsoleRenderable, RichCast, str]

class rich.progress.ProgressSample(timestamp, completed)[source]

给定时间的进度样本。

参数
property completed

已完成的步骤数。

property timestamp

样本的时间戳。

class rich.progress.RenderableColumn(renderable='', *, table_column=None)[source]

插入任意列的列。

参数
  • renderable (RenderableType, 可选) – 任何可渲染对象。默认为空字符串。

  • table_column (Optional[Column]) –

render(task)[source]

应返回可渲染对象。

参数

task (Task) –

返回类型

Union[ConsoleRenderable, RichCast, str]

class rich.progress.SpinnerColumn(spinner_name='dots', style='progress.spinner', speed=1.0, finished_text=' ', table_column=None)[source]

带有“旋转器”动画的列。

参数
  • spinner_name (字符串, 可选) – 旋转器动画的名称。默认为“dots”。

  • style (StyleType, 可选) – 旋转器的样式。默认为“progress.spinner”。

  • speed (浮点数, 可选) – 旋转器的速度系数。默认为 1.0。

  • finished_text (TextType, 可选) – 任务完成后使用的文本。默认为 ” “。

  • table_column (Optional[Column]) –

render(task)[source]

应返回可渲染对象。

参数

task (Task) –

返回类型

Union[ConsoleRenderable, RichCast, str]

set_spinner(spinner_name, spinner_style='progress.spinner', speed=1.0)[source]

设置新的旋转器。

参数
  • spinner_name (字符串) – 旋转器名称,请参阅 python -m rich.spinner。

  • spinner_style (可选[StyleType], 可选) – 旋转器样式。默认为“progress.spinner”。

  • speed (浮点数, 可选) – 旋转器的速度系数。默认为 1.0。

返回类型

None

class rich.progress.Task(id, description, total, completed, _get_time, finished_time=None, visible=True, fields=<factory>, finished_speed=None, _lock=<factory>)[source]

进度条任务信息。

除了在 Progress 类内部,此对象应被视为只读。

参数
completed: float

已完成的步骤数

类型

float

description: str

任务的描述。

类型

str

property elapsed: Optional[float]

任务开始后经过的时间,如果任务尚未开始,则为 None

类型

Optional[float]

fields: Dict[str, Any]

通过 Progress.update 传入的任意字段。

类型

dict

property finished: bool

检查任务是否已完成。

finished_speed: Optional[float] = None

已完成任务的最后速度。

类型

Optional[float]

finished_time: Optional[float] = None

任务完成的时间。

类型

float

get_time()[source]

float: 获取当前时间,以秒为单位。

返回类型

float

id: TaskID

与该任务关联的任务 ID(用于进度方法)。

property percentage: float

获取任务进度,以百分比表示。如果设置了 None total,则返回 0。

类型

float

property remaining: Optional[float]

获取剩余步骤数,如果设置了非 None total。

类型

Optional[float]

property speed: Optional[float]

获取估计速度,以每秒步骤数表示。

类型

Optional[float]

start_time: Optional[float] = None

此任务启动的时间,如果未启动则为 None。

类型

Optional[float]

property started: bool

检查任务是否已启动。

类型

bool

stop_time: Optional[float] = None

此任务停止的时间,如果未停止则为 None。

类型

Optional[float]

property time_remaining: Optional[float]

获取估计的完成时间,如果无数据则为 None

类型

Optional[float]

total: Optional[float]

此任务中的总步骤数。

类型

Optional[float]

visible: bool = True

指示此任务在进度显示中是否可见。

类型

bool

class rich.progress.TaskProgressColumn(text_format='[progress.percentage]{task.percentage:>3.0f}%', text_format_no_percentage='', style='none', justify='left', markup=True, highlighter=None, table_column=None, show_speed=False)[source]

以百分比形式显示任务进度。

参数
  • text_format (str, optional) – 百分比显示格式。默认为 “[progress.percentage]{task.percentage:>3.0f}%”。

  • text_format_no_percentage (str, optional) – 如果百分比未知,则使用此格式。默认为 “”。

  • style (StyleType, optional) – 输出样式。默认为 “none”。

  • justify (JustifyMethod, optional) – 文本对齐方式。默认为 “left”。

  • markup (bool, optional) – 启用标记。默认为 True。

  • highlighter (Optional[Highlighter], optional) – 应用于输出的突出显示器。默认为 None。

  • table_column (Optional[Column], optional) – 要使用的表格列。默认为 None。

  • show_speed (bool, optional) – 如果总计未知,则显示速度。默认为 False。

render(task)[source]

应返回可渲染对象。

参数

task (Task) –

返回类型

文本

classmethod render_speed(speed)[source]

以每秒迭代次数的形式渲染速度。

参数
返回

包含任务速度的文本对象。

返回类型

文本

class rich.progress.TextColumn(text_format, style='none', justify='left', markup=True, highlighter=None, table_column=None)[source]

包含文本的列。

参数
render(task)[source]

应返回可渲染对象。

参数

task (Task) –

返回类型

文本

class rich.progress.TimeElapsedColumn(table_column=None)[source]

渲染经过的时间。

参数

table_column (Optional[Column]) –

render(task)[source]

显示经过的时间。

参数

task (Task) –

返回类型

文本

class rich.progress.TimeRemainingColumn(compact=False, elapsed_when_finished=False, table_column=None)[source]

渲染预计剩余时间。

参数
  • compact (bool, optional) – 当剩余时间少于一小时时,渲染 MM:SS。默认为 False。

  • elapsed_when_finished (bool, optional) – 当任务完成时,渲染经过的时间。默认为 False。

  • table_column (Optional[Column]) –

render(task)[source]

显示剩余时间。

参数

task (Task) –

返回类型

文本

class rich.progress.TotalFileSizeColumn(table_column=None)[source]

渲染总文件大小。

参数

table_column (Optional[Column]) –

render(task)[source]

显示已完成的数据。

参数

task (Task) –

返回类型

文本

class rich.progress.TransferSpeedColumn(table_column=None)[source]

渲染人类可读的传输速度。

参数

table_column (Optional[Column]) –

render(task)[source]

显示数据传输速度。

参数

task (Task) –

返回类型

文本

rich.progress.open(file: Union[str, PathLike[str], bytes], mode: Union[typing_extensions.Literal[rt], typing_extensions.Literal[r]], buffering: int = -1, encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, *, total: Optional[int] = None, description: str = 'Reading...', auto_refresh: bool = True, console: Optional[Console] = None, transient: bool = False, get_time: Optional[Callable[[], float]] = None, refresh_per_second: float = 10, style: Union[str, Style] = 'bar.back', complete_style: Union[str, Style] = <
rich.progress.open(file: Union[str, PathLike[str], bytes], mode: typing_extensions.Literal[rb], buffering: int = -1, encoding: Optional[str] = None, errors: Optional[str] = None, newline: Optional[str] = None, *, total: Optional[int] = None, description: str = 'Reading...', auto_refresh: bool = True, console: Optional[Console] = None, transient: bool = False, get_time: Optional[Callable[[], float]] = None, refresh_per_second: float = 10, style: Union[str, Style] = 'bar.back', complete_style: Union[str, Style] = 'bar.complete', finished_style: Union[str, Style] = 'bar.finished', pulse_style: Union[str, Style] = 'bar.pulse', disable: bool = False) AbstractContextManager[BinaryIO]

在跟踪进度的同时从文件中读取字节。

参数
  • path (Union[str, PathLike[str], BinaryIO]) – 要读取的文件路径,或以二进制模式打开的文件类对象。

  • mode (str) – 用于打开文件的模式。仅支持“r”、“rb”或“rt”。

  • buffering (int) – 要使用的缓冲策略,请参见 io.open().

  • encoding (str, optional) – 在文本模式下读取时要使用的编码,请参见 io.open().

  • errors (str, optional) – 用于解码错误的错误处理策略,请参见 io.open().

  • newline (str, optional) – 处理文本模式下换行的策略,参见 io.open()

  • total – (int, 可选): 要读取的字节总数。从文件句柄中读取时,必须提供此参数。对于路径,默认值为 os.stat(file).st_size。

  • description (str, optional) – 显示在进度条旁边的任务描述。默认值为“Reading”。

  • auto_refresh (bool, optional) – 自动刷新,禁用该选项以强制在每次迭代后刷新。默认值为 True。

  • transient – (bool, 可选): 退出时清除进度。默认值为 False。

  • console (Console, optional) – 要写入的控制台。默认情况下会创建内部控制台实例。

  • refresh_per_second (float) – 每秒刷新进度信息的次数。默认值为 10。

  • style (StyleType, optional) – 进度条背景的样式。默认为“bar.back”。

  • complete_style (StyleType, optional) – 完成部分的进度条样式。默认为“bar.complete”。

  • finished_style (StyleType, optional) – 完成后的进度条样式。默认为“bar.finished”。

  • pulse_style (StyleType, optional) – 脉冲进度条的样式。默认为“bar.pulse”。

  • disable (bool, optional) – 禁用进度显示。

  • encoding – 在文本模式下读取时使用的编码。

返回

一个返回进度阅读器的上下文管理器。

返回类型

ContextManager[BinaryIO]

rich.progress.track(sequence, description='Working...', total=None, auto_refresh=True, console=None, transient=False, get_time=None, refresh_per_second=10, style='bar.back', complete_style='bar.complete', finished_style='bar.finished', pulse_style='bar.pulse', update_period=0.1, disable=False, show_speed=True)[source]

通过迭代序列来跟踪进度。

参数
  • sequence (Iterable[ProgressType]) – 要迭代的序列(必须支持“len”)。

  • description (str, optional) – 进度条旁边显示的任务描述。默认值为“Working”。

  • total (可选[浮点数]) – (浮点数,可选): 总步数。默认值为 len(sequence)。

  • auto_refresh (bool, optional) – 自动刷新,禁用该选项以强制在每次迭代后刷新。默认值为 True。

  • transient (bool) – (bool, optional): 退出时清除进度。默认为 False。

  • console (Console, optional) – 要写入的控制台。默认情况下会创建内部控制台实例。

  • refresh_per_second (float) – 每秒刷新进度信息的次数。默认值为 10。

  • style (StyleType, optional) – 进度条背景的样式。默认为“bar.back”。

  • complete_style (StyleType, optional) – 完成部分的进度条样式。默认为“bar.complete”。

  • finished_style (StyleType, optional) – 完成后的进度条样式。默认为“bar.finished”。

  • pulse_style (StyleType, optional) – 脉冲进度条的样式。默认为“bar.pulse”。

  • update_period (浮点数, 可选) – 更新() 调用之间的最小时间(以秒为单位)。默认为 0.1。

  • disable (bool, optional) – 禁用进度显示。

  • show_speed (bool, optional) – 如果总量未知,则显示速度。默认值为 True。

  • get_time (Optional[Callable[[], float]]) –

返回

序列中值的迭代器。

返回类型

Iterable[ProgressType]

rich.progress.wrap_file(file, total, *, description='Reading...', auto_refresh=True, console=None, transient=False, get_time=None, refresh_per_second=10, style='bar.back', complete_style='bar.complete', finished_style='bar.finished', pulse_style='bar.pulse', disable=False)[source]

在跟踪进度的同时从文件中读取字节。

参数
  • file (Union[str, PathLike[str], BinaryIO]) – 要读取的文件路径,或以二进制模式打开的文件类对象。

  • total (int) – 要读取的总字节数。

  • description (str, optional) – 显示在进度条旁边的任务描述。默认值为“Reading”。

  • auto_refresh (bool, optional) – 自动刷新,禁用该选项以强制在每次迭代后刷新。默认值为 True。

  • transient (bool) – (bool, optional): 退出时清除进度。默认为 False。

  • console (Console, optional) – 要写入的控制台。默认情况下会创建内部控制台实例。

  • refresh_per_second (float) – 每秒刷新进度信息的次数。默认值为 10。

  • style (StyleType, optional) – 进度条背景的样式。默认为“bar.back”。

  • complete_style (StyleType, optional) – 完成部分的进度条样式。默认为“bar.complete”。

  • finished_style (StyleType, optional) – 完成后的进度条样式。默认为“bar.finished”。

  • pulse_style (StyleType, optional) – 脉冲进度条的样式。默认为“bar.pulse”。

  • disable (bool, optional) – 禁用进度显示。

  • get_time (Optional[Callable[[], float]]) –

返回

一个返回进度阅读器的上下文管理器。

返回类型

ContextManager[BinaryIO]