在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 文档中都有一堆必需的标签 (<html><head></head><body></body></html>
)。
【讨论】:
【参考方案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中创建超链接的主要内容,如果未能解决你的问题,请参考以下文章