rich.text

class rich.text.Text(text='', style='', *, justify=None, overflow=None, no_wrap=None, end='\n', tab_size=None, spans=None)[源代码]

带颜色/样式的文本。

参数
  • text (str, optional) -- 默认未设置样式的文本。默认为“”。

  • style (Union[str, Style], optional) -- 文本的基本样式。默认为“”。

  • justify (str, optional) -- 调整方法:“左”、“中”、“全”、“右”。默认为无。

  • overflow (str, optional) -- 溢出方式:“裁剪”、“折叠”、“省略”。默认为无。

  • no_wrap (bool, optional) -- 禁用文本换行,或默认为无。默认为无。

  • end (str, optional) -- 文本以其结尾的字符。默认为“\n”。

  • tab_size (int) -- 每个制表符的空格数,或 None 使用 console.tab_size 。默认为无。

  • spans (List[Span], optional) --

align(align, width, character=' ')[源代码]

将文本与给定宽度对齐。

参数
  • align (AlignMethod) -- “左”、“中”或“右”中的一个。

  • width (int) -- 所需宽度。

  • character (str, optional) -- 要填充的字符。默认为“”。

返回类型

None

append(text, style=None)[源代码]

添加具有可选样式的文本。

参数
  • text (Union[Text, str]) -- 要追加的字符串或文本。

  • style (str, optional) -- 样式名称。默认为无。

返回

返回用于链接的self。

返回类型

Text

append_text(text)[源代码]

追加另一个文本实例。此方法的性能比Text.append更高,但仅适用于文本。

参数

text (Text) -- 要追加到此实例的文本实例。

返回

返回用于链接的self。

返回类型

Text

append_tokens(tokens)[源代码]

追加字符串和样式的可迭代。样式可以是样式实例或字符串样式定义。

参数

tokens (Iterable[Tuple[str, Optional[StyleType]]]) -- 包含字符串内容和样式的元组的可迭代。

返回

返回用于链接的self。

返回类型

Text

apply_meta(meta, start=0, end=None)[源代码]

将元数据应用于文本或文本的一部分。

参数
  • meta (Dict[str, Any]) -- 一本元信息词典。

  • start (int) -- 起始偏移量(支持负索引)。默认为0。

  • end (Optional[int], optional) -- 结束偏移量(支持负索引),或文本结束为无。默认为无。

返回类型

None

classmethod assemble(*parts, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8, meta=None)[源代码]

通过组合具有可选样式的字符串序列来构造文本实例。位置参数应为字符串或字符串+样式的元组。

参数
  • style (Union[str, Style], optional) -- 文本的基本样式。默认为“”。

  • justify (str, optional) -- 调整方法:“左”、“中”、“全”、“右”。默认为无。

  • overflow (str, optional) -- 溢出方式:“裁剪”、“折叠”、“省略”。默认为无。

  • no_wrap (bool, optional) -- 禁用文本换行,或默认为无。默认为无。

  • end (str, optional) -- 文本以其结尾的字符。默认为“\n”。

  • tab_size (int) -- 每个制表符的空格数,或 None 使用 console.tab_size 。默认为无。

  • meta (Dict[str, Any], optional) --

  • parts (Union[str, Text, Tuple[str, Union[str, Style]]]) --

返回

一个新的文本实例。

返回类型

Text

blank_copy(plain='')[源代码]

返回一个带有复制的元数据(但不是字符串或跨度)的新文本实例。

参数

plain (str) --

返回类型

Text

property cell_len: int

获取呈现此文本所需的单元格数量。

copy()[源代码]

返回此实例的副本。

返回类型

Text

copy_styles(text)[源代码]

从另一个文本实例复制样式。

参数

text (Text) -- 要从中复制样式的文本实例的长度必须相同。

返回类型

None

detect_indentation()[源代码]

自动检测代码缩进。

返回

用于缩进代码的空格数。

返回类型

int

divide(offsets)[源代码]

按给定的偏移量将文本分成多行。

参数

offsets (Iterable[int]) -- 用于分割文本的偏移量。

返回

偏移量之间的新RichText实例。

返回类型

Lines

expand_tabs(tab_size=None)[源代码]

将制表符转换为空格。

参数

tab_size (int, optional) -- 选项卡的大小。默认为8。

返回类型

None

extend_style(spaces)[源代码]

在给定空格数量的情况下扩展文本,其中空格的样式与最后一个字符相同。

参数

spaces (int) -- 要添加到文本的空格数量。

返回类型

None

fit(width)[源代码]

通过切入行来使文本适应给定的宽度。

参数

width (int) -- 一行中的最多字符数。

返回

线条集装箱。

返回类型

Lines

classmethod from_ansi(text, *, style='', justify=None, overflow=None, no_wrap=None, end='\n', tab_size=8)[源代码]

从包含ANSI转义代码的字符串创建Text对象。

参数
  • text (str) -- 包含转义代码的字符串。

  • style (Union[str, Style], optional) -- 文本的基本样式。默认为“”。

  • justify (str, optional) -- 调整方法:“左”、“中”、“全”、“右”。默认为无。

  • overflow (str, optional) -- 溢出方式:“裁剪”、“折叠”、“省略”。默认为无。

  • no_wrap (bool, optional) -- 禁用文本换行,或默认为无。默认为无。

  • end (str, optional) -- 文本以其结尾的字符。默认为“\n”。

  • tab_size (int) -- 每个制表符的空格数,或 None 使用 console.tab_size 。默认为无。

返回类型

Text

classmethod from_markup(text, *, style='', emoji=True, emoji_variant=None, justify=None, overflow=None, end='\n')[源代码]

从标记创建文本实例。

参数
  • text (str) -- 包含控制台标记的字符串。

  • style (Union[str, Style], optional) -- 文本的基本样式。默认为“”。

  • emoji (bool, optional) -- 还可以呈现表情符号代码。默认为True。

  • emoji_variant (str, optional) -- 可选的表情符号变体,可以是“文本”或“表情符号”。默认为无。

  • justify (str, optional) -- 调整方法:“左”、“中”、“全”、“右”。默认为无。

  • overflow (str, optional) -- 溢出方式:“裁剪”、“折叠”、“省略”。默认为无。

  • end (str, optional) -- 文本以其结尾的字符。默认为“\n”。

返回

呈现了标记的文本实例。

返回类型

Text

get_style_at_offset(console, offset)[源代码]

在给定偏移量处获取角色的样式。

参数
  • console (~Console) -- 将在其中呈现文本的控制台。

  • offset (int) -- 到文本的偏移量(支持负索引)

返回

一个Style实例。

返回类型

Style

highlight_regex(re_highlight, style=None, *, style_prefix='')[源代码]

使用正则表达式突出显示文本,其中组名称将转换为样式。

参数
  • re_highlight (str) -- 正则表达式。

  • style (Union[GetStyleCallable, StyleType]) -- 应用于整个匹配的可选样式,或接受匹配文本并返回样式的Callable。默认为无。

  • style_prefix (str, optional) -- 添加到样式组名称的可选前缀。

返回

正则表达式匹配数

返回类型

int

highlight_words(words, style, *, case_sensitive=True)[源代码]

用一种风格突出显示单词。

参数
  • words (Iterable[str]) -- 要突出的词语。

  • style (Union[str, Style]) -- 要应用的样式。

  • case_sensitive (bool, optional) -- 启用区分大小写的匹配。默认为True。

返回

突出显示的字数。

返回类型

int

join(lines)[源代码]

将文本与此实例作为分隔符连接在一起。

参数

lines (Iterable[Text]) -- 要联接的文本实例的可迭代数。

返回

包含联接文本的新文本实例。

返回类型

Text

property markup: str

获取控制台标记以呈现此文本。

返回

可能创建标记标记的字符串。

返回类型

str

on(meta=None, **handlers)[源代码]

应用事件处理程序(由文本项目使用)。

示例

>>> from rich.text import Text
>>> text = Text("hello world")
>>> text.on(click="view.toggle('world')")
参数
  • meta (Dict[str, Any]) -- 元信息的映射。

  • **handlers -- 关键字参数以“@”作为定义的处理程序的前缀。

返回

Self返回到方法可能会被链接。

返回类型

Text

pad(count, character=' ')[源代码]

向左和向右填充给定数量的字符。

参数
  • count (int) -- 填充的宽度。

  • character (str) -- 要填充的字符。必须是长度为%1的字符串。

返回类型

None

pad_left(count, character=' ')[源代码]

在左边填上给定的字符。

参数
  • count (int) -- 要填充的字符数。

  • character (str, optional) -- 要填充的字符。默认为“”。

返回类型

None

pad_right(count, character=' ')[源代码]

用给定的字符填充右侧。

参数
  • count (int) -- 要填充的字符数。

  • character (str, optional) -- 要填充的字符。默认为“”。

返回类型

None

property plain: str

获取单个字符串形式的文本。

remove_suffix(suffix)[源代码]

如果后缀存在,请将其删除。

参数

suffix (str) -- 要删除的后缀。

返回类型

None

render(console, end='')[源代码]

将文本呈现为片段。

参数
  • console (Console) -- 控制台实例。

  • end (Optional[str], optional) -- 可选的结束字符。

返回

可以写入控制台的渲染结果。

返回类型

Iterable[Segment]

right_crop(amount=1)[源代码]

从正文末尾去掉一些字符。

参数

amount (int) --

返回类型

None

rstrip()[源代码]

去掉文本末尾的空格。

返回类型

None

rstrip_end(size)[源代码]

删除文本末尾超过一定宽度的空格。

参数

size (int) -- 所需的文本大小。

返回类型

None

set_length(new_length)[源代码]

设置文本的新长度,需要裁剪或填充。

参数

new_length (int) --

返回类型

None

property spans: List[Span]

获取内部跨度列表的引用。

split(separator='\n', *, include_separator=False, allow_blank=False)[源代码]

将富文本拆分为线条,保留样式。

参数
  • separator (str, optional) -- 要拆分的字符串。默认为“\n”。

  • include_separator (bool, optional) -- 在行中包括分隔符。默认为False。

  • allow_blank (bool, optional) -- 如果文本以分隔符结尾,则返回空行。默认为False。

返回

富文本列表,原始文本每行一个。

返回类型

List[RichText]

classmethod styled(text, style='', *, justify=None, overflow=None)[源代码]

使用预先应用的样式构造一个文本实例。以这种方式应用的样式在文本对齐时不会用于填充文本。

参数
  • text (str) -- 包含控制台标记的字符串。

  • style (Union[str, Style]) -- 要应用于文本的样式。默认为“”。

  • justify (str, optional) -- 调整方法:“左”、“中”、“全”、“右”。默认为无。

  • overflow (str, optional) -- 溢出方式:“裁剪”、“折叠”、“省略”。默认为无。

返回

应用于整个字符串的样式的Text实例。

返回类型

Text

stylize(style, start=0, end=None)[源代码]

对文本或文本的一部分应用样式。

参数
  • style (Union[str, Style]) -- 要应用的样式实例或样式定义。

  • start (int) -- 起始偏移量(支持负索引)。默认为0。

  • end (Optional[int], optional) -- 结束偏移量(支持负索引),或文本结束为无。默认为无。

返回类型

None

stylize_before(style, start=0, end=None)[源代码]

对文本或文本的一部分应用样式。样式将在已存在的其他样式之前应用。

参数
  • style (Union[str, Style]) -- 要应用的样式实例或样式定义。

  • start (int) -- 起始偏移量(支持负索引)。默认为0。

  • end (Optional[int], optional) -- 结束偏移量(支持负索引),或文本结束为无。默认为无。

返回类型

None

truncate(max_width, *, overflow=None, pad=False)[源代码]

如果文本长度超过给定宽度,则将其截断。

参数
  • max_width (int) -- 文本中的最大字符数。

  • overflow (str, optional) -- 溢出方法:“裁剪”、“折叠”或“省略”。默认为无,以使用self.overflow。

  • pad (bool, optional) -- 如果长度小于max_width,则用空格填充。默认为False。

返回类型

None

with_indent_guides(indent_size=None, *, character='│', style='dim green')[源代码]

向文本添加缩进辅助线。

参数
  • indent_size (Optional[int]) -- 缩进大小,或无以自动检测。默认为无。

  • character (str, optional) -- 用于缩进的字符。默认为“│”。

  • style (Union[Style, str], optional) -- 缩进辅助线的样式。

返回

带有缩进辅助线的新文本。

返回类型

Text

wrap(console, width, *, justify=None, overflow=None, tab_size=8, no_wrap=None)[源代码]

文字自动换行。

参数
  • console (Console) -- 控制台实例。

  • width (int) -- 每行可用的单元格数量。

  • justify (str, optional) -- 调整方法:默认、左、中、全、右。默认为“Default”。

  • overflow (str, optional) -- 溢出方法:“裁剪”、“折叠”或“省略”。默认为无。

  • tab_size (int, optional) -- 默认制表符大小。默认为8。

  • no_wrap (bool, optional) -- 禁用换行,默认为FALSE。

返回

行数。

返回类型

Lines

rich.text.TextType

纯字符串或 Text 举个例子。

Union[str, Text] 的别名