rich.console¶
- class rich.console.Capture(console)[源代码]¶
上下文管理器来捕获打印到控制台的结果。看见
capture()
关于如何使用。- 参数
console (Console) -- 用于捕获输出的控制台实例。
- 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)[源代码]¶
高级控制台界面。
- 参数
color_system (str, optional) -- 您的终端支持的颜色系统可以是
"standard"
,"256"
或"truecolor"
。保留为"auto"
自动检测。force_terminal (Optional[bool], optional) -- 启用/禁用终端控制代码,或无以自动检测终端。默认为无。
force_jupyter (Optional[bool], optional) -- 启用/禁用Jupyter渲染,或无以自动检测Jupyter。默认为无。
force_interactive (Optional[bool], optional) -- 启用/禁用交互模式,或无以自动检测。默认为无。
soft_wrap (Optional[bool], optional) -- 在打印方法上设置软换行默认设置。默认为False。
theme (Theme, optional) -- 可选的样式主题对象,或
None
用于默认主题。stderr (bool, optional) -- 如果出现以下情况,请使用stderr而不是stdout
file
未指定。默认为False。file (IO, optional) -- 控制台应写入的文件对象。默认为标准输出。
quiet (bool, Optional) -- 用于取消所有输出的布尔值。默认为False。
width (int, optional) -- 终端的宽度。保留默认设置以自动检测宽度。
height (int, optional) -- 航站楼的高度。保留默认设置以自动检测高度。
style (StyleType, optional) -- Style应用于所有输出,或None表示无样式。默认为无。
no_color (Optional[bool], optional) -- 已启用无颜色模式,或启用无以自动检测。默认为无。
tab_size (int, optional) -- 用于替换制表符的空格数。默认为8。
record (bool, optional) -- 用于启用终端输出记录的布尔值,调用
export_html()
,export_svg()
,以及export_text()
。默认为False。emoji (bool, optional) -- 启用表情符号代码。默认为True。
emoji_variant (str, optional) -- 可选的表情符号变体,可以是“文本”或“表情符号”。默认为无。
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的字符串,也可以是格式化时间的Callable。默认为“ [%X] “。”highlighter (HighlighterType, optional) -- 默认荧光笔。
legacy_windows (bool, optional) -- 启用传统Windows模式,或
None
以自动检测。默认为None
。safe_box (bool, optional) -- 限制不在旧版Windows上渲染的框选项。
get_datetime (Callable[[], datetime], optional) -- Callable,获取当前时间作为Datetime.DateTime对象(由console.log使用),或None作为Datetime.now对象。
get_time (Callable[[], time], optional) -- 获取当前时间(以秒为单位)的Callable,默认使用time。单调。
- begin_capture()[源代码]¶
开始捕获控制台输出。打电话
end_capture()
退出捕获模式并返回输出。- 返回类型
None
- capture()[源代码]¶
上下文管理器,用于 capture 字符串中print()或log()的结果,而不是将其写入控制台。
示例
>>> from rich.console import Console >>> console = Console() >>> with console.capture() as capture: ... console.print("[bold magenta]Hello World[/]") >>> print(capture.get())
- 返回
上下文管理器禁用对终端的写入。
- 返回类型
- control(*control)[源代码]¶
插入非打印控制代码。
- 参数
control_codes (str) -- 控制代码,例如那些可以移动光标的代码。
control (Control) --
- 返回类型
None
- export_html(*, theme=None, clear=True, code_format=None, inline_styles=False)[源代码]¶
从控制台内容生成HTML(需要构造函数中的Record=True参数)。
- 参数
theme (TerminalTheme, optional) -- 包含控制台颜色的TerminalTheme对象。
clear (bool, optional) -- 导出后清除记录缓冲区。默认为
True
。code_format (str, optional) -- Format string to render HTML. In addition to '{foreground}', '{background}', and '{code}', should contain '{stylesheet}' if inline_styles is
False
.inline_styles (bool, optional) -- 如果
True
样式将内联到跨度,这使得文件更大,但更容易剪切和粘贴标记。如果False
,样式将嵌入到样式标记中。默认为False。
- 返回
包含以HTML格式表示的控制台内容的字符串。
- 返回类型
- 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)[源代码]¶
从控制台内容生成SVG(需要控制台构造函数中的Record=True)。
- 参数
title (str, optional) -- 输出图像中选项卡的标题
theme (TerminalTheme, optional) -- 这个
TerminalTheme
对象,用于设置终端的样式。clear (bool, optional) -- 导出后清除记录缓冲区。默认为
True
code_format (str, optional) -- 用于生成SVG的格式字符串。Rich将向字符串中注入许多变量,以形成最终的SVG输出。Rich注入的默认模板和变量可以通过查看
console.CONSOLE_SVG_FORMAT
变量。font_aspect_ratio (float, optional) -- 中使用的字体的宽高比。
code_format
弦乐。默认为0.61,这是Fira Code(默认字体)的宽高比。如果没有在内部指定不同的字体code_format
,你可能不需要这个。unique_id (str, optional) -- 用作各种元素(css样式、节点ID)前缀的唯一id。如果未设置,则默认为基于录制内容的计算值。
- 返回类型
- input(prompt='', *, markup=True, emoji=True, password=False, stream=None)[源代码]¶
显示提示并等待用户输入。提示可能包含颜色/样式。
它的工作方式与Python的构建方式相同
input()
函数,并提供详细的行编辑和历史记录功能readline
模块已预先加载。
- log(*objects, sep=' ', end='\n', style=None, justify=None, emoji=None, markup=None, highlight=None, log_locals=False, _stack_offset=1)[源代码]¶
将丰富的内容记录到终端。
- 参数
objects (positional args) -- 对象登录到终端。
sep (str, optional) -- 要在打印数据之间写入的字符串。默认为“”。
end (str, optional) -- 要在打印数据末尾写入的字符串。默认为“\n”。
justify (str, optional) -- “左”、“右”、“中”或“全”中的一个。默认为
None
。emoji (Optional[bool], optional) -- 启用表情符号代码,或
None
使用控制台默认设置。默认为无。markup (Optional[bool], optional) -- 启用标记,或
None
使用控制台默认设置。默认为无。highlight (Optional[bool], optional) -- 启用自动突出显示,或
None
使用控制台默认设置。默认为无。log_locals (bool, optional) -- 用于启用本地变量日志记录的布尔值,其中
log()
被召唤了。默认为False。_stack_offset (int, optional) -- 调用方相对于调用堆栈末尾的偏移量。默认为1。
- 返回类型
None
- measure(renderable, *, options=None)[源代码]¶
测量可渲染对象。返回一个
Measurement
对象,该对象包含有关打印可呈现对象所需的字符数的信息。- 参数
renderable (RenderableType) -- 任何可呈现的或字符串。
options (Optional[ConsoleOptions], optional) -- 测量时使用的选项,或无以使用默认选项。默认为无。
- 返回
对可渲染对象的测量。
- 返回类型
- property options: ConsoleOptions¶
获取默认控制台选项。
- out(*objects, sep=' ', end='\n', style=None, highlight=None)[源代码]¶
输出到终端。这是一种写入终端的低级方式,与此不同
print()
不会美化打印、换行文本或应用标记,但会选择性地应用突出显示和基本样式。
- pager(pager=None, styles=False, links=False)[源代码]¶
一个上下文管理器,用于显示在“寻呼机”中打印的任何内容。寻呼机应用程序由系统定义,通常至少支持按下一个键进行滚动。
- 参数
- 返回类型
示例
>>> from rich.console import Console >>> from rich.__main__ import make_test_card >>> console = Console() >>> with console.pager(): console.print(make_test_card())
- 返回
上下文管理器。
- 返回类型
- 参数
- 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)[源代码]¶
打印到控制台。
- 参数
objects (positional args) -- 对象登录到终端。
sep (str, optional) -- 要在打印数据之间写入的字符串。默认为“”。
end (str, optional) -- 要在打印数据末尾写入的字符串。默认为“\n”。
justify (str, optional) -- 调整方法:默认、左、右、中、全。默认为
None
。overflow (str, optional) -- 溢出方法:“忽略”、“裁剪”、“折叠”或“省略”。默认为无。
no_wrap (Optional[bool], optional) -- 禁用自动换行。默认为无。
emoji (Optional[bool], optional) -- 启用表情符号代码,或
None
使用控制台默认设置。默认为None
。markup (Optional[bool], optional) -- 启用标记,或
None
使用控制台默认设置。默认为None
。highlight (Optional[bool], optional) -- 启用自动突出显示,或
None
使用控制台默认设置。默认为None
。width (Optional[int], optional) -- 输出的宽度,或
None
以进行自动检测。默认为None
。crop (Optional[bool], optional) -- 根据终端宽度裁剪产量。默认为True。
soft_wrap (bool, optional) -- 启用软换行模式,该模式禁用文本的自动换行和裁剪,或者
None
对于控制台默认设置。默认为None
。new_line_start (bool, False) -- 如果输出包含多行,则在开始处插入新行。默认为
False
。
- 返回类型
None
- print_exception(*, width=100, extra_lines=3, theme=None, word_wrap=False, show_locals=False, suppress=(), max_frames=100)[源代码]¶
打印上一个异常和回溯的丰富呈现。
- 参数
width (Optional[int], optional) -- 用于呈现代码的字符数。默认为100。
extra_lines (int, optional) -- 要呈现的其他代码行。默认为3。
theme (str, optional) -- 覆盖回溯中使用的俾格品主题
word_wrap (bool, optional) -- 启用长行的自动换行。默认为False。
show_locals (bool, optional) -- 启用局部变量的显示。默认为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)[源代码]¶
漂亮的印花JSON。输出将是有效的JSON。
- 参数
json (Optional[str]) -- 包含JSON的字符串。
data (Any) -- 如果未提供json,则对此数据进行编码。
highlight (bool, optional) -- 启用输出高亮显示:默认为True。
skip_keys (bool, optional) -- 跳过不属于基本类型的键。默认为False。
ensure_ascii (bool, optional) -- 转义所有非ASCII字符。默认为False。
check_circular (bool, optional) -- 检查循环引用。默认为True。
allow_nan (bool, optional) -- 允许使用NaN和Infinity值。默认为True。
default (Callable, optional) -- 将不能编码的值转换为可以JSON编码的值的可调用函数。默认为无。
sort_keys (bool, optional) -- 对词典关键字进行排序。默认为False。
- 返回类型
None
- push_render_hook(hook)[源代码]¶
将新的渲染挂钩添加到堆栈。
- 参数
hook (RenderHook) -- 渲染挂钩实例。
- 返回类型
None
- push_theme(theme, *, inherit=True)[源代码]¶
将新主题推到堆栈的顶部,替换上一个主题中的样式。一般来说,你应该打电话给
use_theme()
获取上下文管理器,而不是直接调用此方法。
- render(renderable, options=None)[源代码]¶
将对象呈现为可迭代的 Segment 实例。
此方法包含使用控制台协议呈现对象的逻辑。您不太可能需要直接使用它,除非您正在扩展该库。
- 参数
renderable (RenderableType) -- 支持控制台协议的对象,或可以转换为字符串的对象。
options (ConsoleOptions, optional) -- 一个Options对象,或无以使用self.Options。默认为无。
- 返回
可以呈现的段的可迭代。
- 返回类型
Iterable[Segment]
- render_lines(renderable, options=None, *, style=None, pad=True, new_lines=False)[源代码]¶
将对象渲染到线条列表中。
当需要对呈现的控制台文本进行进一步格式化时,RENDER_LINES的输出非常有用,例如在任何可渲染对象周围绘制边框的Panel类。
- 参数:
Renderable(RenderableType):在控制台中可渲染的任何对象。选项(可选 [ConsoleOptions] ,可选):控制台选项,或无以使用self.Options。默认为
None
。Style(style,可选):应用于可呈现对象的可选样式。默认为None
。填充(布尔值,可选):填充比渲染宽度短的线条。默认为True
。新行(bool,可选):INCLUDE“
“行尾的字符。
- 返回:
明细表 [List[Segment] ]:线的列表,其中线是线段对象的列表。
- render_str(text, *, style='', justify=None, overflow=None, emoji=None, markup=None, highlight=None, highlighter=None)[源代码]¶
将字符串转换为文本实例。如果打印或记录字符串,则会自动调用此函数。
- 参数
text (str) -- 要呈现的文本。
justify (str, optional) -- 调整方法:默认、左、中、全、右。默认为
None
。overflow (str, optional) -- 溢出方法:“裁剪”、“折叠”或“省略”。默认为
None
。emoji (Optional[bool], optional) -- 启用表情符号,或
None
使用控制台默认设置。markup (Optional[bool], optional) -- 启用标记,或
None
使用控制台默认设置。highlight (Optional[bool], optional) -- 启用突出显示,或
None
使用控制台默认设置。highlighter (HighlighterType, optional) -- 可选的荧光笔。
- 返回
可渲染对象。
- 返回类型
- 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 style="font-family:inherit">{code}</code></pre>\n</body>\n</html>\n', inline_styles=False)[源代码]¶
从控制台内容生成HTML并写入文件(需要构造函数中的Record=True参数)。
- 参数
path (str) -- 写入html文件的路径。
theme (TerminalTheme, optional) -- 包含控制台颜色的TerminalTheme对象。
clear (bool, optional) -- 导出后清除记录缓冲区。默认为
True
。code_format (str, optional) -- Format string to render HTML. In addition to '{foreground}', '{background}', and '{code}', should contain '{stylesheet}' if inline_styles is
False
.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)[源代码]¶
从控制台内容生成SVG文件(需要控制台构造函数中的Record=True)。
- 参数
path (str) -- 要将SVG写入的路径。
title (str, optional) -- 输出图像中选项卡的标题
theme (TerminalTheme, optional) -- 这个
TerminalTheme
对象,用于设置终端的样式。clear (bool, optional) -- 导出后清除记录缓冲区。默认为
True
code_format (str, optional) -- 用于生成SVG的格式字符串。Rich将向字符串中注入许多变量,以形成最终的SVG输出。Rich注入的默认模板和变量可以通过查看
console.CONSOLE_SVG_FORMAT
变量。font_aspect_ratio (float, optional) -- 中使用的字体的宽高比。
code_format
弦乐。默认为0.61,这是Fira Code(默认字体)的宽高比。如果没有在内部指定不同的字体code_format
,你可能不需要这个。unique_id (str, optional) -- 用作各种元素(css样式、节点ID)前缀的唯一id。如果未设置,则默认为基于录制内容的计算值。
- 返回类型
None
- set_alt_screen(enable=True)[源代码]¶
启用备用屏幕模式。
请注意,如果启用此模式,则应确保在应用程序退出之前禁用该模式。看见
screen()
用于为您处理此问题的上下文管理器。
- set_live(live)[源代码]¶
设置实时实例。由实时上下文管理器使用。
- 参数
live (Live) -- 使用此控制台的实时实例。
- 抛出
errors.LiveError -- 如果此控制台当前有活动的实时上下文。
- 返回类型
None
- set_window_title(title)[源代码]¶
设置控制台终端窗口的标题。
警告:在Rich中无法将窗口标题“重置”为其先前的值,这意味着即使在应用程序退出后,您设置的标题也将保持不变。
fish
默认情况下,Shell会在每个命令之前和之后重置窗口标题,从而消除此问题。Windows终端和命令提示符也会为您重置标题。然而,大多数其他Shell和终端不这样做。某些终端可能需要更改配置才能设置标题。一些终端可能根本不支持设置标题。
其他软件(包括终端本身、Shell、自定义提示、插件等)还可以设置终端窗口标题。这可能会导致您使用此方法编写的任何值都被覆盖。
- property size: ConsoleDimensions¶
获取控制台的大小。
- 返回
包含维度的命名元组。
- 返回类型
- status(status, *, spinner='dots', spinner_style='status.spinner', speed=1.0, refresh_per_second=12.5)[源代码]¶
显示状态和微调按钮。
- 参数
- 返回
可用作上下文管理器的状态对象。
- 返回类型
- update_screen(renderable, *, region=None, options=None)[源代码]¶
在给定的偏移量处更新屏幕。
- 参数
renderable (RenderableType) -- 一个丰富的可渲染。
region (Region, optional) -- 要更新的屏幕区域,或者整个屏幕都不更新。默认为无。
x (int, optional) -- X偏移量。默认为0。
y (int, optional) -- Y偏移量。默认为0。
options (Optional[ConsoleOptions]) --
- 抛出
errors.NoAltScreen -- 如果主机未处于Alt Screen模式。
- 返回类型
None
- 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)[源代码]¶
选项: __rich_console__ 方法。
- 参数
- 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>)[源代码]¶
更新值,返回副本。
- class rich.console.ConsoleThreadLocals(theme_stack, buffer=<factory>, buffer_index=0)[源代码]¶
线程控制台上下文的本地值。
- class rich.console.Group(*renderables, fit=True)[源代码]¶
获取一组可呈现对象,并返回呈现该组的可呈现对象。
- 参数
renderables (Iterable[RenderableType]) -- 可呈现对象的可迭代。
fit (bool, optional) -- 使组的维度适合内容,或填充可用空间。默认为True。
- class rich.console.PagerContext(console, pager=None, styles=False, links=False)[源代码]¶
一个“页面”内容的上下文管理器。看见
pager()
以供使用。
- class rich.console.RenderHook[源代码]¶
提供指向渲染进程的挂钩。
- abstract process_renderables(renderables)[源代码]¶
使用要呈现的对象列表调用。
此方法可以返回可呈现对象的新列表,也可以修改并返回相同的列表。
- 参数
renderables (List[ConsoleRenderable]) -- 许多可渲染对象。
- 返回
可渲染对象的替换列表。
- 返回类型
List[ConsoleRenderable]
- rich.console.RenderableType¶
可以由Rich呈现的字符串或任何对象。
Union
[ConsoleRenderable
,RichCast
,str
] 的别名
- class rich.console.ScreenContext(console, hide_cursor, style='')[源代码]¶
启用备用屏幕的上下文管理器。看见
screen()
以供使用。
- class rich.console.ThemeContext(console, theme, inherit=True)[源代码]¶
使用临时主题的上下文管理器。看见
use_theme()
以供使用。