【问题标题】:Clickable html links in Python 3.6 shell?Python 3.6 shell 中的可点击 html 链接?
【发布时间】:2017-05-19 20:58:14
【问题描述】:

假设,我有一个完整的 html 链接列表,看起来像这样:

https://www.nytimes.com/2017/05/19/realestate/they-can-afford-to-buy-but-they-would-rather-rent.html

当我在 Python 3.6 Idle 中运行脚本时,我将列表作为 Python 3.6 shell 中的输出;但是,它们不可点击。有没有一种简单的方法可以让它们在 shell 中可点击?

我在 Google 上四处搜索,但似乎找不到任何涉及 Python shell 的内容。

谢谢。

【问题讨论】:

  • 这通常是 shell 的限制。这是一个文本界面。点击不是“事情”。
  • 我不知道这是否会对您有所帮助,但有一个 webbrowser 模块可以让您在提供的 URL 处启动您的默认网络浏览器。
  • @aryamccarthy 我明白了。我有什么选择? Jupyter Notebook 允许我输出可点击链接。除此之外,关于我应该研究什么的任何建议?
  • @FamousJameous 是的,我知道webrowser,但我想我必须创建一个 GUI,才能完成整个“点击启动”,对吗?

标签: python shell clickable


【解决方案1】:

自动链接终端

这取决于您使用的终端。一些终端具有可配置的规则(主要是正则表达式),可以识别工具输出中的链接并使其可点击。

自定义链接

某些终端还允许您通过特殊的shell escape sequences 创建自定义链接:

既然你提到了py3.6,我用的是f-strings:

text = "This is a link"
target = "http://example.com"
print(f"\u001b]8;;{target}\u001b\\{text}\u001b]8;;\u001b\\")

这将在某些终端中创建一个可点击的链接。 (iTerm2、Gnome 终端甚至 iPython 在这些终端之一中运行。)然而,它似乎在 Alacritty 和 Kitty 中不起作用。

要了解有关超链接转义序列的更多信息,请参阅 this Gist 或此博客文章 https://purpleidea.com/blog/2018/06/29/hyperlinks-in-gnome-terminal/

【讨论】:

  • 不能在 python 3 上工作,我只得到一个文本“这是一个链接”但它不是一个链接
  • @Tokci 这与 python 版本无关。您的终端必须支持该功能。我只尝试了一些像 iTerm2 和 Gnome 终端。我刚刚测试了 Kitty 和 Alacritty,但它在这些中不起作用。
  • 好的,我明白了..我是在 windows 上的 bash 上完成的。
【解决方案2】:

对不起。不。IDLE 是最基本的编辑器,shell 就是这样。

【讨论】:

    猜你喜欢
    • 2020-12-07
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2020-12-28
    • 2013-01-29
    • 2012-11-26
    相关资源
    最近更新 更多