[英]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.