Python。如何将文本作为超链接打印到控制台?

标签 python hyperlink console-application

我正在开发一个控制台应用程序。我的应用程序使用 urwid库。在某些情况下,我需要将很长的超链接显示为表列中的短文本。我想在单击列内的文本时在浏览器中打开链接。

所以,我的问题是:

是否可以将文本打印为控制台的超链接?

您能否提供一个小示例,说明如何使用 python 将文本打印为超链接?

最佳答案

有点晚了,但现在完全有办法做到这一点,没有诅咒或任何东西,只有纯文本和终端模拟器的协作。

def link(uri, label=None):
    if label is None: 
        label = uri
    parameters = ''

    # OSC 8 ; params ; URI ST <name> OSC 8 ;; ST 
    escape_mask = '\033]8;{};{}\033\\{}\033]8;;\033\\'

    return escape_mask.format(parameters, uri, label)

使用 link('https://example.com/') 调用该函数以获得一个简单的、可点击的链接,或者 link('https://example.com/', 'example') 用于自定义标签。

请注意,终端中的链接带有淡淡的下划线,并非所有链接都支持该功能。

关于Python。如何将文本作为超链接打印到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40419276/

相关文章:

c - 在交互式 C 控制台应用程序中输入国家/地区后,打印大写名称

c# - 控制台.ReadLine ("Default Text Editable Text On Line")

ruby-on-rails - 如何在链接中放置图像?

python - PyQt 时间轴 GUI

python - 使用转义序列时的错误符号 很难学习 python ex10

python - 在 pyplot 中的图例上画一条线

android - 在 android 上禁用 setMovementMethod(LinkMovementMethod.getInstance())

javascript - 延迟 url 链接显示在左下角

c++ - 枚举序列化? C++

python - 如何将编译的编程语言和脚本语言一起使用?