簡體   English   中英

Python. 如何將文本作為超鏈接打印到控制台?

[英]Python. How to print text to console as hyperlink?

我正在開發一個控制台應用程序。 我的應用程序使用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')獲取自定義標簽。

請注意,終端中的鏈接帶有淡淡的下划線,並非所有鏈接都支持該功能。

是的,使用一些工具,例如 gNewt 或 Curses,您可以創建一個按鈕並“點擊”執行操作(例如打開瀏覽器到給定的 url)。

gNewt : http://gnewt.sourceforge.net/

nCurses: https ://docs.python.org/3.7/library/curses.html

否則,終端應用程序將管理您提供的文本,如果它不實現 uri 的識別,您的程序將無法按您的意願運行。

不,某些控制台確實可以識別 url 並將它們轉換為可點擊的超鏈接。 您所能做的就是通過在您的 url 中放置一個 http:// 來輕松識別控制台應用程序。

另請參閱bash 如何識別鏈接?

我正在開發一個控制台應用程序。 我的應用程序使用urwid lib。 在某些情況下,我需要將很長的超鏈接顯示為表格列內的短文本。 當我單擊列內的文本時,我想在瀏覽器中打開鏈接。

所以,我的問題是:

是否可以將文本作為超鏈接打印到控制台?

您能否提供一個小示例,說明如何使用 python 將文本打印為超鏈接?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM