可能吗?我正在制作的程序需要它,如果没有,我会尝试其他方法。
问问题
63 次
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 回答