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' ) )
我可以使用这个特殊的转义序列在 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' ) )