Python 在 gnome 终端中打印超链接

Python print hyperlink in gnome-terminal

我可以使用这个特殊的转义序列在 bash 中打印超链接:

echo -e '\e]8;;http://example.com\e\This is a link\e]8;;\e\\n'

结果(Link我可以点击):

This is a link

现在我想在 Python 3.10 中生成它:

print('\e]8;;http://example.com\e\This is a link\e]8;;\e\\n')
\e]8;;http://example.com\e\This is a link\e]8;;\e\

print(r'\e]8;;http://example.com\e\This is a link\e]8;;\e\\n')
\e]8;;http://example.com\e\This is a link\e]8;;\e\\n

如您所见,shell 不解释转义序列。 其他转义序列,例如用于粗体文本的转义序列,有效:

print('3[1mYOUR_STRING3[0m')
YOUR_STRING    # <- is actually bold

如何让 python 正确格式化 URL?

来自 This answer,经过一些尝试:

print('\x1b]8;;' + 'http://example.com' + '\x1b\' + 'This is a link' +  '\x1b]8;;\x1b\\n' )

然后更好:

print( '\x1b]8;;%s\x1b\%s\x1b]8;;\x1b\' %
       ( 'http://example.com' , 'This is a link' ) )