在python中创建超链接

Posted

技术标签:

【中文标题】在python中创建超链接【英文标题】:creating hyperlinks in python 【发布时间】:2012-11-07 07:01:39 【问题描述】:

我有一个日志文件,其中使用 python 记录了一些测试命令及其状态(通过/失败)。现在我希望测试命令不应该写成简单的文本,而应该写成超链接。这样当我点击它们时,会打开另一个链接到它们的文件。

例如:

file = open("C:/logfile.log", "w")
file.write("[Command Name - '%35s']    [PASSED]\n" %(CommandName))
file.close()

file1 = open("C:/TestCommand.log/", "w")
file1.write("'%35s \n" %(str(parameter_val_for_test_command)))
file1.close()

现在我希望 logfile.log 中写入的 CommandName 应该是文件 TestCommand.log 的超链接,这样当我单击 CommandName 时,文件 TestCommand.log 就会打开。

您能否建议我应该如何创建一个带有超链接 CommandName 的 logfile.log,然后我应该如何将此超链接 CommandName 链接到文件 TestCommand.log??

【问题讨论】:

点击超链接时您使用的是什么应用程序? 文本文件中不存在超链接。文本文件只有文本。您可以为超链接编写语法,例如使用 html ——这就是您的意思吗? 我还没有创建超链接。这就是我想知道的,我应该如何为 CommandName 创建这个超链接,然后我应该如何将它链接到文件 TestCommand @katrielalex:所以你的意思是我应该创建 logfile.html,然后为 CommandName 创建超链接以将它们链接到 TestCommand.html 文件?? 没有神奇的序列可以将任何文本变成超链接。由您查看文本的程序将某些文本格式解释为超链接。因此,要回答您的问题,您必须知道预期的日志文件格式。 (一旦你知道它,你可能无需帮助就能回答你的问题)。 【参考方案1】:

你似乎对什么是超链接有点困惑,嗯,

文本文件是包含文本的文件。 (很简单,但需要说一下!)它没有图片、动画、颜色、标题或类似的东西。这只是文本。

由于人们经常希望在文本中获得更多数据(x 应该是标题,y 应该是红色,z 应该在鼠标悬停时做出有趣的光标),因此有许多方案可以对有关文本的数据进行编码。例如,Markdown 是 *** 使用的文本格式。 HTML 是一种使用<tag> 元素的标记语言(一种注释文本的方式)。它很有用,因为 Web 浏览器可以将 HTML 页面作为输入并以图形方式显示它们。

您所描述的超链接是一种图形元素,例如您可能在网站上找到的。您不能将它们放在文本文件中,因为文本文件只是文本。但是您可以通过编写

来指示 Web 浏览器显示超链接
<a href="where/you/want/the/link/to/go">text of the link</a>

如果您在网络浏览器中打开包含该文件的文件,它会将文本显示为链接。请注意,包含 HTML 的文件通常称为 something.html 以指示其内容,并且在任何 HTML 文档中都有一堆必需的标签 (&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;)。

【讨论】:

【参考方案2】:

在 Python 中创建超链接?

这很简单,因为超链接的格式为:

hyperlink_format = '<a href="link">text</a>'

可以在 Python 中轻松地对其进行参数化。这里有几种方法:

从字符串调用.format方法

>>> hyperlink_format.format(link='http://foo/bar', text='linky text')
'<a href="http://foo/bar">linky text</a>'

使用绑定的.format 对象:

link_text = hyperlink_format.format

用法:

>>> link_text(link='http://foo/bar', text='foo bar')
'<a href="http://foo/bar">foo bar</a>'

制作偏函数

import functools
link_text = functools.partial(hyperlink_format.format)

用法:

>>> link_text(link='http://foo/bar', text='linky text')
'<a href="http://foo/bar">linky text</a>'

【讨论】:

【参考方案3】:

我认为使用该功能:

    hyperlink_format = '<a href="link">text</a>'

到 HTML 文件并在 HTML 文件类型中:

    <!DOCTYPE html><html><script type="text/javascript">window.location="url";</script></html>

【讨论】:

您应该解释一下,将他的日志转换为 HTML 格式而不是文件可能会有所帮助,并且通过这种方式,他可以添加超链接。那么我想,代码会有意义。

以上是关于在python中创建超链接的主要内容,如果未能解决你的问题,请参考以下文章

在Textview中创建超链接[重复]

如何在 kivy 中创建超链接?

在具有空格的对象的 django 模板中创建超链接

通过绑定在TextBlock中创建超链接

HTML网页制作:创建超链接的方法

如何在 Tkinter 中创建带有标签的超链接?