rich.console

class rich.console.Capture(console)[source]

上下文管理器,用于捕获打印到控制台的结果。有关如何使用,请参阅 capture()

参数

console (Console) – 要捕获输出的控制台实例。

get()[source]

获取捕获的结果。

返回类型

str

exception rich.console.CaptureError[source]

Capture 上下文管理器中的错误。

class rich.console.Console(*, color_system='auto', force_terminal=None, force_jupyter=None, force_interactive=None, soft_wrap=False, theme=None, stderr=False, file=None, quiet=False, width=None, height=None, style=None, no_color=None, tab_size=8, record=False, markup=True, emoji=True, emoji_variant=None, highlight=True, log_time=True, log_path=True, log_time_format='[%X]', highlighter=<rich.highlighter.ReprHighlighter object>, legacy_windows=None, safe_box=True, get_datetime=None, get_time=None, _environ=None)[source]

高级控制台接口。

参数
  • color_system (str, optional) – 您的终端支持的颜色系统,可以是 "standard""256""truecolor"。保留为 "auto" 以自动检测。

  • force_terminal (Optional[bool], optional) – 启用/禁用终端控制代码,或 None 以自动检测终端。默认为 None。

  • force_jupyter (Optional[bool], optional) – 启用/禁用 Jupyter 渲染,或 None 以自动检测 Jupyter。默认为 None。

  • force_interactive (Optional[bool], optional) – 启用/禁用交互模式,或 None 以自动检测。默认为 None。

  • soft_wrap (Optional[bool], optional) – 在 print 方法上设置软换行默认值。默认为 False。

  • theme (Theme, optional) – 可选的样式主题对象,或 None 以使用默认主题。

  • stderr (bool, optional) – 如果未指定 file,则使用 stderr 而不是 stdout。默认为 False。

  • file (IO, optional) – 控制台应写入的文件对象。默认为 stdout。

  • quiet (bool, Optional) – 布尔值,用于抑制所有输出。默认为 False。

  • width (int, optional) – 终端的宽度。保留为默认值以自动检测宽度。

  • height (int, optional) – 终端的高度。保留为默认值以自动检测高度。

  • style (StyleType, optional) – 要应用于所有输出的样式,或 None 以不使用样式。默认为 None。

  • no_color (Optional[bool], optional) – 启用无颜色模式,或 None 以自动检测。默认为 None。

  • tab_size (int, optional) – 用于替换制表符的空格数。默认为 8。

  • record (bool, optional) – 布尔值,用于启用终端输出的记录,需要调用 export_html()export_svg()export_text()。默认为 False。

  • markup (bool, optional) – 布尔值,用于启用 控制台标记。默认为 True。

  • emoji (bool, optional) – 启用表情符号代码。默认为 True。

  • emoji_variant (str, optional) – 可选的表情符号变体,可以是 “text” 或 “emoji”。默认为 None。

  • highlight (bool, optional) – 启用自动高亮显示。默认为 True。

  • log_time (bool, optional) – 布尔值,用于启用 log() 方法记录时间。默认为 True。

  • log_path (bool, optional) – 布尔值,用于启用 log() 记录调用方。默认为 True。

  • log_time_format (Union[str, TimeFormatterCallable], optional) – 如果启用了 log_time,则可以是用于 strftime 的字符串,也可以是格式化时间的可调用对象。默认为 “[%X] “。

  • highlighter (HighlighterType, optional) – 默认高亮显示器。

  • legacy_windows (bool, optional) – 启用旧版 Windows 模式,或 None 以自动检测。默认为 None

  • safe_box (bool, optional) – 限制旧版 Windows 上无法渲染的框选项。

  • get_datetime (Callable[[], datetime], optional) – 可调用对象,用于获取当前时间作为 datetime.datetime 对象(由 Console.log 使用),或 None 以使用 datetime.now。

  • get_time (Callable[[], time], optional) – 可调用对象,用于获取当前时间(以秒为单位),默认情况下使用 time.monotonic。

  • _environ (Mapping[str, str]) –

begin_capture()[source]

开始捕获控制台输出。调用 end_capture() 以退出捕获模式并返回输出。

返回类型

None

bell()[source]

播放“铃声”(如果终端支持)。

返回类型

None

capture()[source]

一个上下文管理器,用于将捕获的 print() 或 log() 的结果存储在一个字符串中,而不是写入控制台。

示例

>>> from rich.console import Console
>>> console = Console()
>>> with console.capture() as capture:
...     console.print("[bold magenta]Hello World[/]")
>>> print(capture.get())
返回值

禁用终端写入的上下文管理器。

返回类型

捕获

clear(home=True)[source]

清除屏幕。

参数

home (bool, optional) – 也将光标移动到“主页”位置。默认为 True。

返回类型

None

clear_live()[source]

清除 Live 实例。

返回类型

None

property color_system: Optional[str]

获取颜色系统字符串。

返回值

“standard”、“256”或“truecolor”。

返回类型

Optional[str]

control(*control)[source]

插入非打印控制码。

参数
  • control_codes (str) – 控制码,例如可能移动光标的那些。

  • control (Control) –

返回类型

None

property encoding: str

获取控制台文件的编码,例如 "utf-8"

返回值

标准编码字符串。

返回类型

str

end_capture()[source]

结束捕获模式并返回捕获的字符串。

返回值

控制台输出。

返回类型

str

export_html(*, theme=None, clear=True, code_format=None, inline_styles=False)[source]

从控制台内容生成 HTML(需要在构造函数中使用 record=True 参数)。

参数
  • theme (TerminalTheme, optional) – 包含控制台颜色的 TerminalTheme 对象。

  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • code_format (str, optional) – 渲染 HTML 的格式字符串。除了“{foreground}”、“{background}”和“{code}”之外,如果 inline_styles 为 False,则应包含“{stylesheet}”。

  • inline_styles (bool, optional) – 如果为 True,则样式将内联到跨度中,这会使文件变大,但更容易剪切和粘贴标记。如果为 False,则样式将嵌入到样式标签中。默认为 False。

返回值

包含控制台内容作为 HTML 的字符串。

返回类型

str

export_svg(*, title='Rich', theme=None, clear=True, code_format='<svg class="rich-terminal" viewBox="0 0 {width} {height}" xmlns="http://www.w3.org/2000/svg">\n    <!-- Generated with Rich https://www.textualize.io -->\n    <style>\n\n    @font-face {{\n        font-family: "Fira Code";\n        src: local("FiraCode-Regular"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");\n        font-style: normal;\n        font-weight: 400;\n    }}\n    @font-face {{\n        font-family: "Fira Code";\n        src: local("FiraCode-Bold"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");\n        font-style: bold;\n        font-weight: 700;\n    }}\n\n    .{unique_id}-matrix {{\n        font-family: Fira Code, monospace;\n        font-size: {char_height}px;\n        line-height: {line_height}px;\n        font-variant-east-asian: full-width;\n    }}\n\n    .{unique_id}-title {{\n        font-size: 18px;\n        font-weight: bold;\n        font-family: arial;\n    }}\n\n    {styles}\n    </style>\n\n    <defs>\n    <clipPath id="{unique_id}-clip-terminal">\n      <rect x="0" y="0" width="{terminal_width}" height="{terminal_height}" />\n    </clipPath>\n    {lines}\n    </defs>\n\n    {chrome}\n    <g transform="translate({terminal_x}, {terminal_y})" clip-path="url(#{unique_id}-clip-terminal)">\n    {backgrounds}\n    <g class="{unique_id}-matrix">\n    {matrix}\n    </g>\n    </g>\n</svg>\n', font_aspect_ratio=0.61, unique_id=None)[source]

从控制台内容生成 SVG(需要在 Console 构造函数中使用 record=True)。

参数
  • title (str, optional) – 输出图像中选项卡的标题

  • theme (TerminalTheme, optional) – 用于为终端设置样式的 TerminalTheme 对象

  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • code_format (str, optional) – 用于生成 SVG 的格式字符串。Rich 将向该字符串注入一些变量,以形成最终的 SVG 输出。可以通过检查 console.CONSOLE_SVG_FORMAT 变量来找到使用的默认模板以及 Rich 注入的变量。

  • font_aspect_ratio (float, optional) – code_format 字符串中使用的字体的宽高比。默认值为 0.61,这是 Fira Code(默认字体)的宽高比。如果您没有在 code_format 中指定不同的字体,您可能不需要此参数。

  • unique_id (str, optional) – 用作各种元素(CSS 样式、节点 ID)前缀的唯一 ID。如果未设置,则默认值为根据记录的内容计算出的值。

返回类型

str

export_text(*, clear=True, styles=False)[source]

从控制台内容生成文本(需要在构造函数中使用 record=True 参数)。

参数
  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • styles (bool, optional) – 如果为 True,则将包含 ANSI 转义代码。 False 表示纯文本。默认值为 False

返回值

包含控制台内容的字符串。

返回类型

str

property file: IO[str]

获取要写入的文件对象。

get_style(name, *, default=None)[source]

通过主题名称获取 Style 实例或解析定义。

参数
返回值

一个 Style 对象。

返回类型

Style

Raises

MissingStyle – 如果无法从 name 解析样式。

property height: int

获取控制台的高度。

返回值

控制台的高度(以行计)。

返回类型

int

input(prompt='', *, markup=True, emoji=True, password=False, stream=None)[source]

显示提示并等待用户输入。提示可以包含颜色/样式。

它的工作方式与 Python 的内置 input() 函数相同,并在 Python 的内置 readline 模块事先加载的情况下,提供精细的命令行编辑和历史记录功能。

参数
  • prompt (Union[str, Text]) – 要在提示中渲染的文本。

  • markup (bool, optional) – 启用控制台标记(需要 str 提示)。默认值为 True。

  • emoji (bool, optional) – 启用表情符号(需要 str 提示)。默认值为 True。

  • password (bool) – (bool, optional): 隐藏键入的文本。默认值为 False。

  • stream (Optional[TextIO]) – (TextIO, optional): 要从中读取输入的可选文件(而不是 stdin)。默认值为 None。

返回值

从 stdin 读取的文本。

返回类型

str

property is_alt_screen: bool

检查是否启用了备用屏幕。

返回值

如果启用了备用屏幕,则为 True,否则为 False。

返回类型

bool

property is_dumb_terminal: bool

检测哑终端。

返回值

如果写入哑终端,则为 True,否则为 False。

返回类型

bool

property is_terminal: bool

检查控制台是否写入终端。

返回值

如果控制台写入能够理解终端代码的设备,则为 True,否则为 False。

返回类型

bool

line(count=1)[source]

写入新行。

参数

count (int, optional) – 新行的数量。默认值为 1。

返回类型

None

log(*objects, sep=' ', end='\n', style=None, justify=None, emoji=None, markup=None, highlight=None, log_locals=False, _stack_offset=1)[source]

将丰富的内容记录到终端。

参数
  • objects (positional args) – 要记录到终端的对象。

  • sep (str, optional) – 要在打印数据之间写入的字符串。默认值为 ” “。

  • end (str, optional) – 要在打印数据结束时写入的字符串。默认值为 “\n”。

  • style (Union[str, Style], optional) – 要应用于输出的样式。默认值为 None。

  • justify (str, optional) – “left”、“right”、“center” 或 “full” 之一。默认值为 None

  • emoji (Optional[bool], optional) – 启用表情符号代码,或 None 使用控制台默认值。默认值为 None。

  • markup (Optional[bool], optional) – 启用标记,或 None 使用控制台默认值。默认值为 None。

  • highlight (Optional[bool], optional) – 启用自动突出显示,或 None 使用控制台默认值。默认值为 None。

  • log_locals (bool, optional) – 布尔值,用于启用记录调用 log() 位置的局部变量。默认值为 False。

  • _stack_offset (int, 可选) – 调用者在调用堆栈末尾的偏移量。默认为 1。

返回类型

None

measure(renderable, *, options=None)[source]

测量一个可渲染对象。返回一个 Measurement 对象,其中包含有关打印可渲染对象所需字符数量的信息。

参数
  • renderable (RenderableType) – 任何可渲染对象或字符串。

  • options (可选[ConsoleOptions], 可选) – 测量时要使用的选项,或 None 以使用默认选项。默认为 None。

返回值

可渲染对象的测量值。

返回类型

Measurement

property options: ConsoleOptions

获取默认的控制台选项。

out(*objects, sep=' ', end='\n', style=None, highlight=None)[source]

输出到终端。这是写入终端的低级方法,与 print() 不同,它不会漂亮地打印、换行文本或应用标记,但可以选择应用突出显示和基本样式。

参数
  • sep (str, optional) – 要在打印数据之间写入的字符串。默认值为 ” “。

  • end (str, optional) – 要在打印数据结束时写入的字符串。默认值为 “\n”。

  • style (Union[str, Style], optional) – 要应用于输出的样式。默认值为 None。

  • highlight (可选[bool], 可选) – 启用自动突出显示,或 None 以使用控制台默认值。默认为 None

  • objects (Any) –

返回类型

None

pager(pager=None, styles=False, links=False)[source]

一个上下文管理器,用于在“分页器”中显示任何打印的内容。分页器应用程序由系统定义,通常至少支持按一个键进行滚动。

参数
  • pager (Pager, 可选) – 分页器对象,或 None 以使用 SystemPager。默认为 None。

  • styles (bool, 可选) – 在分页器中显示样式。默认为 False。

  • links (bool, 可选) – 在分页器中显示链接。默认为 False。

返回类型

PagerContext

示例

>>> from rich.console import Console
>>> from rich.__main__ import make_test_card
>>> console = Console()
>>> with console.pager():
        console.print(make_test_card())
返回值

一个上下文管理器。

返回类型

PagerContext

参数
pop_render_hook()[source]

从堆栈中弹出最后一个渲染钩子。

返回类型

None

pop_theme()[source]

从堆栈顶部删除主题,恢复之前的主题。

返回类型

None

print(*objects, sep=' ', end='\n', style=None, justify=None, overflow=None, no_wrap=None, emoji=None, markup=None, highlight=None, width=None, height=None, crop=True, soft_wrap=None, new_line_start=False)[source]

打印到控制台。

参数
  • objects (positional args) – 要记录到终端的对象。

  • sep (str, optional) – 要在打印数据之间写入的字符串。默认值为 ” “。

  • end (str, optional) – 要在打印数据结束时写入的字符串。默认值为 “\n”。

  • style (Union[str, Style], optional) – 要应用于输出的样式。默认值为 None。

  • justify (str, 可选) – 对齐方式: “default”、”left”、”right”、”center” 或 “full”。默认为 None

  • overflow (str, 可选) – 溢出方式: “ignore”、”crop”、”fold” 或 “ellipsis”。默认为 None。

  • no_wrap (可选[bool], 可选) – 禁用自动换行。默认为 None。

  • emoji (可选[bool], 可选) – 启用 emoji 代码,或 None 以使用控制台默认值。默认为 None

  • markup (可选[bool], 可选) – 启用标记,或 None 以使用控制台默认值。默认为 None

  • highlight (可选[bool], 可选) – 启用自动突出显示,或 None 以使用控制台默认值。默认为 None

  • width (可选[int], 可选) – 输出宽度,或 None 以自动检测。默认为 None

  • crop (可选[bool], 可选) – 将输出裁剪到终端宽度。默认为 True。

  • soft_wrap (bool, 可选) – 启用软换行模式,禁用文本的自动换行和裁剪,或 None 以使用控制台默认值。默认为 None

  • new_line_start (bool, False) – 如果输出包含多行,则在开头插入新行。默认为 False

  • height (Optional[int]) –

返回类型

None

print_exception(*, width=100, extra_lines=3, theme=None, word_wrap=False, show_locals=False, suppress=(), max_frames=100)[source]

打印最后一个异常和回溯的丰富渲染。

参数
  • width (可选[int], 可选) – 用于渲染代码的字符数。默认为 100。

  • extra_lines (int, 可选) – 要渲染的额外代码行数。默认为 3。

  • theme (str, 可选) – 覆盖回溯中使用的 pygments 主题

  • word_wrap (bool, 可选) – 启用长行的自动换行。默认为 False。

  • show_locals (bool, 可选) – 启用显示局部变量。默认为 False。

  • suppress (Iterable[Union[str, ModuleType]]) – 要从跟踪信息中排除的模块或路径的可选序列。

  • max_frames (int) – 跟踪信息中显示的帧数最大值,0 表示无最大值。默认为 100。

返回类型

None

print_json(json=None, *, data=None, indent=2, highlight=True, skip_keys=False, ensure_ascii=False, check_circular=True, allow_nan=True, default=None, sort_keys=False)[source]

漂亮地打印 JSON。输出将是有效的 JSON。

参数
  • json (Optional[str]) – 包含 JSON 的字符串。

  • data (Any) – 如果未提供 json,则编码此数据。

  • indent (Union[None, int, str], 可选) – 用于缩进的空格数。默认为 2。

  • highlight (bool, 可选) – 启用输出的突出显示:默认为 True。

  • skip_keys (bool, 可选) – 跳过不是基本类型的值。默认为 False。

  • ensure_ascii (bool, 可选) – 转义所有非 ASCII 字符。默认为 False。

  • check_circular (bool, 可选) – 检查循环引用。默认为 True。

  • allow_nan (bool, 可选) – 允许 NaN 和 Infinity 值。默认为 True。

  • default (Callable, 可选) – 一个可调用对象,将无法编码的值转换为可以 JSON 编码的值。默认为 None。

  • sort_keys (bool, 可选) – 对字典键进行排序。默认为 False。

返回类型

None

push_render_hook(hook)[source]

在堆栈中添加一个新的渲染挂钩。

参数

hook (RenderHook) – 渲染挂钩实例。

返回类型

None

push_theme(theme, *, inherit=True)[source]

将一个新主题推送到堆栈的顶部,替换来自前一个主题的样式。一般来说,你应该调用 use_theme() 来获取一个上下文管理器,而不是直接调用此方法。

参数
  • theme (Theme) – 主题实例。

  • inherit (bool, 可选) – 继承现有的样式。默认为 True。

返回类型

None

render(renderable, options=None)[source]

将对象渲染为一个 Segment 实例的可迭代对象。

此方法包含使用控制台协议渲染对象的逻辑。你不太可能需要直接使用它,除非你正在扩展库。

参数
  • renderable (RenderableType) – 支持控制台协议的对象,或者可以转换为字符串的对象。

  • options (ConsoleOptions, 可选) – 选项对象,或 None 使用 self.options。默认为 None。

返回值

一个可迭代的段,可以被渲染。

返回类型

Iterable[Segment]

render_lines(renderable, options=None, *, style=None, pad=True, new_lines=False)[source]

将对象渲染为一个行列表。

render_lines 的输出在需要进一步格式化渲染的控制台文本时很有用,例如 Panel 类,它会在任何可渲染对象周围绘制一个边框。

参数

renderable (RenderableType): 控制台中任何可渲染的对象。 options (Optional[ConsoleOptions], 可选): 控制台选项,或 None 使用 self.options。默认值为 None。 style (Style, 可选): 要应用于可渲染对象的可选样式。默认为 None。 pad (bool, 可选): 填充长度小于渲染宽度的行。默认为 True。 new_lines (bool, 可选): 包含 “

” 字符在行末。

返回值

List[List[Segment]]: 一个行列表,其中一行是一个 Segment 对象列表。

参数
返回类型

List[List[Segment]]

render_str(text, *, style='', justify=None, overflow=None, emoji=None, markup=None, highlight=None, highlighter=None)[source]

将字符串转换为 Text 实例。如果你打印或记录一个字符串,则会自动调用此方法。

参数
  • text (str) – 要渲染的文本。

  • style (Union[str, Style], 可选) – 要应用于渲染文本的样式。

  • justify (str, 可选) – 对齐方式: “default”, “left”, “center”, “full”,或 “right”。默认为 None

  • overflow (str, optional) – 溢出方法: “crop”, “fold”, 或 “ellipsis”。 默认值为 None.

  • emoji (Optional[bool], optional) – 启用 emoji,或 None 使用控制台默认值。

  • markup (Optional[bool], optional) – 启用标记,或 None 使用控制台默认值。

  • highlight (Optional[bool], optional) – 启用高亮,或 None 使用控制台默认值。

  • highlighter (HighlighterType, optional) – 可选的高亮器应用。

返回值

可渲染对象。

返回类型

ConsoleRenderable

rule(title='', *, characters='─', style='rule.line', align='center')[source]

绘制一条线,可以选择在中间添加标题。

参数
  • title (str, optional) – 渲染在规则上的文本。 默认值为 “”。

  • characters (str, optional) – 组成线的字符。 默认值为 “─”。

  • style (str, optional) – 线的样式。 默认值为 “rule.line”。

  • align (str, optional) – 标题的对齐方式,可以是 “left”, “center”, 或 “right”。 默认值为 “center”。

返回类型

None

save_html(path, *, theme=None, clear=True, code_format='<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n<style>\n{stylesheet}\nbody {{\n    color: {foreground};\n    background-color: {background};\n}}\n</style>\n</head>\n<body>\n    <pre style="font-family:Menlo,\'DejaVu Sans Mono\',consolas,\'Courier New\',monospace"><code>{code}</code></pre>\n</body>\n</html>\n', inline_styles=False)[source]

从控制台内容生成 HTML 并写入文件(需要在构造函数中使用 record=True 参数)。

参数
  • path (str) – 写入 html 文件的路径。

  • theme (TerminalTheme, optional) – 包含控制台颜色的 TerminalTheme 对象。

  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • code_format (str, optional) – 渲染 HTML 的格式字符串。除了“{foreground}”、“{background}”和“{code}”之外,如果 inline_styles 为 False,则应包含“{stylesheet}”。

  • inline_styles (bool, optional) – 如果为 True,则样式将内联到跨度中,这会使文件变大,但更容易剪切和粘贴标记。如果为 False,则样式将嵌入到样式标签中。默认为 False。

返回类型

None

save_svg(path, *, title='Rich', theme=None, clear=True, code_format='<svg class="rich-terminal" viewBox="0 0 {width} {height}" xmlns="http://www.w3.org/2000/svg">\n    <!-- Generated with Rich https://www.textualize.io -->\n    <style>\n\n    @font-face {{\n        font-family: "Fira Code";\n        src: local("FiraCode-Regular"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");\n        font-style: normal;\n        font-weight: 400;\n    }}\n    @font-face {{\n        font-family: "Fira Code";\n        src: local("FiraCode-Bold"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),\n                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");\n        font-style: bold;\n        font-weight: 700;\n    }}\n\n    .{unique_id}-matrix {{\n        font-family: Fira Code, monospace;\n        font-size: {char_height}px;\n        line-height: {line_height}px;\n        font-variant-east-asian: full-width;\n    }}\n\n    .{unique_id}-title {{\n        font-size: 18px;\n        font-weight: bold;\n        font-family: arial;\n    }}\n\n    {styles}\n    </style>\n\n    <defs>\n    <clipPath id="{unique_id}-clip-terminal">\n      <rect x="0" y="0" width="{terminal_width}" height="{terminal_height}" />\n    </clipPath>\n    {lines}\n    </defs>\n\n    {chrome}\n    <g transform="translate({terminal_x}, {terminal_y})" clip-path="url(#{unique_id}-clip-terminal)">\n    {backgrounds}\n    <g class="{unique_id}-matrix">\n    {matrix}\n    </g>\n    </g>\n</svg>\n', font_aspect_ratio=0.61, unique_id=None)[source]

从控制台内容生成 SVG 文件(需要在 Console 构造函数中使用 record=True)。

参数
  • path (str) – 写入 SVG 的路径。

  • title (str, optional) – 输出图像中选项卡的标题

  • theme (TerminalTheme, optional) – 用于为终端设置样式的 TerminalTheme 对象

  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • code_format (str, optional) – 用于生成 SVG 的格式字符串。Rich 将向该字符串注入一些变量,以形成最终的 SVG 输出。可以通过检查 console.CONSOLE_SVG_FORMAT 变量来找到使用的默认模板以及 Rich 注入的变量。

  • font_aspect_ratio (float, optional) – code_format 字符串中使用的字体的宽高比。默认值为 0.61,这是 Fira Code(默认字体)的宽高比。如果您没有在 code_format 中指定不同的字体,您可能不需要此参数。

  • unique_id (str, optional) – 用作各种元素(CSS 样式、节点 ID)前缀的唯一 ID。如果未设置,则默认值为根据记录的内容计算出的值。

返回类型

None

save_text(path, *, clear=True, styles=False)[source]

从控制台生成文本并保存到指定位置(需要在构造函数中使用 record=True 参数)。

参数
  • path (str) – 写入文本文件的路径。

  • clear (bool, optional) – 导出后清除记录缓冲区。默认为 True

  • styles (bool, optional) – 如果 True,将包含 ansi 样式代码。 False 表示纯文本。 默认值为 False

返回类型

None

screen(hide_cursor=True, style=None)[source]

上下文管理器,用于启用和禁用“备用屏幕”模式。

参数
  • hide_cursor (bool, optional) – 也隐藏光标。 默认值为 False。

  • style (Style, optional) – 屏幕的可选样式。 默认值为 None。

返回值

上下文,在进入时启用备用屏幕,在退出时禁用它。

返回类型

~ScreenContext

set_alt_screen(enable=True)[source]

启用备用屏幕模式。

注意,如果你启用了此模式,你应该确保在应用程序退出之前将其禁用。 查看 screen() 以获取一个为你处理此问题的上下文管理器。

参数

启用 (布尔值, 可选) – 启用 (True) 或禁用 (False) 备用屏幕。默认为 True。

返回值

如果控制代码已写入,则为 True。

返回类型

bool

set_live(live)[source]

设置 Live 实例。由 Live 上下文管理器使用。

参数

live (Live) – 使用此控制台的 Live 实例。

Raises

errors.LiveError – 如果此控制台当前具有活动 Live 上下文。

返回类型

None

set_window_title(title)[source]

设置控制台终端窗口的标题。

警告:Rich 内部没有“重置”窗口标题为其先前值的方法,这意味着您设置的标题即使在应用程序退出后也会保留。

fish shell 默认情况下会在每个命令之前和之后重置窗口标题,从而避免了这个问题。Windows 终端和命令提示符也会为您重置标题。但是,大多数其他 shell 和终端都不会这样做。

一些终端可能需要进行配置更改才能设置标题。一些终端可能根本不支持设置标题。

其他软件(包括终端本身、shell、自定义提示、插件等)也可能设置终端窗口标题。这可能导致您使用此方法写入的任何值被覆盖。

参数

title (字符串) – 终端窗口的新标题。

返回值

如果更改终端标题的控制代码已

写入,则为 True,否则为 False。请注意,True 的返回值不能保证窗口标题实际上已更改,因为该功能可能在某些终端中不受支持/被禁用。

返回类型

bool

show_cursor(show=True)[source]

显示或隐藏光标。

参数

show (布尔值, 可选) – 设置光标的可见性。

返回类型

bool

property size: ConsoleDimensions

获取控制台的大小。

返回值

包含维度的命名元组。

返回类型

ConsoleDimensions

status(status, *, spinner='dots', spinner_style='status.spinner', speed=1.0, refresh_per_second=12.5)[source]

显示状态和旋转器。

参数
  • status (RenderableType) – 状态渲染器(通常为 str 或 Text)。

  • spinner (字符串, 可选) – 旋转动画的名称(参见 python -m rich.spinner)。默认为“dots”。

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

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

  • refresh_per_second (浮点数, 可选) – 每秒刷新次数。默认为 12.5。

返回值

一个 Status 对象,可以用作上下文管理器。

返回类型

Status

update_screen(renderable, *, region=None, options=None)[source]

在给定偏移量处更新屏幕。

参数
  • renderable (RenderableType) – Rich 渲染器。

  • region (Region, 可选) – 要更新的屏幕区域,或 None 表示整个屏幕。默认为 None。

  • x (整数, 可选) – x 偏移量。默认为 0。

  • y (整数, 可选) – y 偏移量。默认为 0。

  • options (Optional[ConsoleOptions]) –

Raises

errors.NoAltScreen – 如果控制台不在备用屏幕模式下。

返回类型

None

update_screen_lines(lines, x=0, y=0)[source]

在给定偏移量处更新屏幕的线条。

参数
  • lines (列表[列表[Segment]]) – 渲染的线条(由 render_lines() 生成)。

  • x (整数, 可选) – x 偏移量(列号)。默认为 0。

  • y (整数, 可选) – y 偏移量(列号)。默认为 0。

Raises

errors.NoAltScreen – 如果控制台不在备用屏幕模式下。

返回类型

None

use_theme(theme, *, inherit=True)[source]

在上下文管理器持续时间内使用不同的主题。

参数
  • theme (Theme) – 要使用的主题实例。

  • inherit (布尔值, 可选) – 继承现有的控制台样式。默认为 True。

返回值

[description]

返回类型

ThemeContext

property width: int

获取控制台的宽度。

返回值

控制台的宽度(以字符为单位)。

返回类型

int

class rich.console.ConsoleDimensions(width, height)[source]

终端的大小。

参数
property height

控制台的高度(以行数为单位)。

property width

控制台的宽度(以“单元格”为单位)。

class rich.console.ConsoleOptions(size, legacy_windows, min_width, max_width, is_terminal, encoding, max_height, justify=None, overflow=None, no_wrap=False, highlight=None, markup=None, height=None)[source]

__rich_console__ 方法的选项。

参数
property ascii_only: bool

检查渲染器是否应该仅使用 ASCII 字符。

copy()[source]

返回选项的副本。

返回值

self 的副本。

返回类型

ConsoleOptions

encoding: str

终端编码。

highlight: Optional[bool] = None

render_str 的高亮显示覆盖。

is_terminal: bool

如果目标是终端,则为 True,否则为 False。

justify: Optional[typing_extensions.Literal[default, left, center, right, full]] = None

渲染器的对齐值覆盖。

legacy_windows: bool

旧版 Windows 标志。

类型

legacy_windows

markup: Optional[bool] = None

渲染字符串时启用标记。

max_height: int

容器高度(以终端开始)

max_width: int

渲染器的最大宽度。

min_width: int

渲染器的最小宽度。

no_wrap: Optional[bool] = False

禁用文本换行。

overflow: Optional[typing_extensions.Literal[fold, crop, ellipsis, ignore]] = None

渲染器的溢出值覆盖。

reset_height()[source]

返回将高度设置为 None 的选项副本。

返回值

新的控制台选项实例。

返回类型

~ConsoleOptions

size: ConsoleDimensions

控制台大小。

update(*, width=<rich.console.NoChange object>, min_width=<rich.console.NoChange object>, max_width=<rich.console.NoChange object>, justify=<rich.console.NoChange object>, overflow=<rich.console.NoChange object>, no_wrap=<rich.console.NoChange object>, highlight=<rich.console.NoChange object>, markup=<rich.console.NoChange object>, height=<rich.console.NoChange object>)[source]

更新值,返回副本。

参数
  • width (Union[int, NoChange]) –

  • min_width (Union[int, NoChange]) –

  • max_width (Union[int, NoChange]) –

  • justify (Union[typing_extensions.Literal[default, left, center, right, full], None, NoChange]) –

  • overflow (Union[typing_extensions.Literal[fold, crop, ellipsis, ignore], None, NoChange]) –

  • no_wrap (Union[bool, None, NoChange]) –

  • highlight (Union[bool, None, NoChange]) –

  • markup (Union[bool, None, NoChange]) –

  • 高度 (Union[int, None, NoChange]) –

返回类型

ConsoleOptions

update_dimensions(width, height)[source]

更新宽度和高度,并返回副本。

参数
  • 宽度 (int) – 新宽度(设置最小宽度和最大宽度)。

  • 高度 (int) – 新高度。

返回值

新的控制台选项实例。

返回类型

~ConsoleOptions

update_height(height)[source]

更新高度,并返回副本。

参数

高度 (int) – 新高度

返回值

新的控制台选项实例。

返回类型

~ConsoleOptions

update_width(width)[source]

仅更新宽度,返回副本。

参数

宽度 (int) – 新宽度(设置最小宽度和最大宽度)

返回值

新的控制台选项实例。

返回类型

~ConsoleOptions

class rich.console.ConsoleRenderable(*args, **kwds)[source]

支持控制台协议的对象。

class rich.console.ConsoleThreadLocals(theme_stack, buffer=<factory>, buffer_index=0)[source]

控制台上下文的线程本地值。

参数
  • theme_stack (ThemeStack) –

  • buffer (List[Segment]) –

  • buffer_index (int) –

class rich.console.Group(*renderables, fit=True)[source]

接受一组可渲染对象,并返回一个渲染这些对象的渲染对象。

参数
  • renderables (Iterable[RenderableType]) – 可渲染对象的迭代器。

  • fit (bool, optional) – 使组的尺寸适合内容,或填充可用空间。默认为 True。

class rich.console.NewLine(count=1)[source]

一个渲染新行(s)的渲染对象。

参数

count (int) –

class rich.console.PagerContext(console, pager=None, styles=False, links=False)[source]

一个对内容进行“分页”的上下文管理器。有关用法,请参见 pager()

参数
class rich.console.RenderHook[source]

提供渲染过程的钩子。

abstract process_renderables(renderables)[source]

使用要渲染的对象列表调用。

此方法可以返回一个新的可渲染对象列表,或修改并返回相同的列表。

参数

renderables (List[ConsoleRenderable]) – 一些可渲染对象。

返回值

可渲染对象的替换列表。

返回类型

List[ConsoleRenderable]

rich.console.RenderableType

Rich 可渲染的字符串或任何对象。

alias of Union[ConsoleRenderable, RichCast, str]

class rich.console.RichCast(*args, **kwds)[source]

可以“转换为”控制台渲染对象的任何对象。

class rich.console.ScreenContext(console, hide_cursor, style='')[source]

一个启用备用屏幕的上下文管理器。有关用法,请参见 screen()

参数
update(*renderables, style=None)[source]

更新屏幕。

参数
  • renderable (RenderableType, optional) – 用于替换当前渲染对象的可选渲染对象,或 None 表示不更改。默认为 None。

  • style (Optional[Union[str, Style]]) – (Style, optional): 替换样式,或 None 表示不更改。默认为 None。

  • renderables (Union[ConsoleRenderable, RichCast, str]) –

返回类型

None

class rich.console.ScreenUpdate(lines, x, y)[source]

在给定偏移量处渲染一行列表。

参数
class rich.console.ThemeContext(console, theme, inherit=True)[source]

用于使用临时主题的上下文管理器。有关用法,请参见 use_theme()

参数
rich.console.detect_legacy_windows()[source]

检测旧版 Windows。

返回类型

bool

rich.console.group(fit=True)[source]

一个将可渲染对象的迭代器转换为组的装饰器。

参数

fit (bool, optional) – 使组的尺寸适合内容,或填充可用空间。默认为 True。

返回类型

Callable[[…], Callable[[…], Group]]