-3

可能吗?我正在制作的程序需要它,如果没有,我会尝试其他方法。

4

2 回答 2

4

您可以在任何语言中使用 ANSI 转义码,但是按预期呈现是终端的责任,在大多数情况下它们尊重 ANSI(有一些明显的例外)

print("\033[3mitalic\033[0m")

当然,如果您要输出 Markdown 或 HTML 斜体...

如果您使用的是一些 GUI 库,您可能只需要设置斜体样式

大多数文本 ui 库都有围绕 ANSI 转义码构建的实用函数,您只需执行类似的操作

my_string = "not italic " + italict("italic")+" text

您可以轻松地将其实现为

def italic(txt):
    return f"\033[3m{txt}\033[0m"

在 Windows(cmd 或 powershell 或 conhost)上,这将不起作用...

  • 默认情况下禁用 ansii 支持,但是很容易启用
  • 我不认为 windows(cmd 或 powershell 或 conhost)支持斜体转义码,它们支持粗体、下划线和颜色,但没有斜体

其他 Windows 终端程序(未内置)支持完整的 ansii 代码

于 2022-02-16T03:48:30.447 回答
0

我自己没有使用过它,但我知道这个库中存在该功能:Rich

Rich 是一个 Python 库,用于将富文本(带有颜色和样式)写入终端,并用于显示高级内容,例如表格、markdown 和语法高亮代码。

于 2022-02-16T03:46:40.220 回答