如何在终端中以'页面'形式打印带有HTML内容的Python变量?

3 投票
3 回答
4191 浏览
提问于 2025-04-17 06:00

我有一个Python变量,里面存的是HTML内容,像这样:

>>>>a='<html><h1><a href="http://www.google.com">Link to Google<></h1></html>'

我想把它打印出来,显示成HTML格式。

我希望在我的终端里打印这个变量,结果应该像这样:

a.html

注意:如果Python可以直接做到这一点,而不需要用到其他脚本或程序,那我会更喜欢这样。

3 个回答

1

我希望有人能给你更好的答案,不过我还是想分享一下我的想法:你可以使用html2text——我记得它是一个Python脚本——或者先用html2pdf,然后再用pdf2text。最后,当然要打印出生成的文本。希望这对你有帮助。

1

为了去掉上面例子中的标签,我用了:

    >>> a='<html><\p>My example text<p></html>'
    >>> while '<' in a or '>' in a:
    ...     a = a.replace(a[a.find('<'):a.find('>')+1],"")
    ... 
    >>> a
    'My example text'

这样做应该没问题,除非你想提取的文本里包含了'<'或'>',或者这个变量不是有效的html。

2

我成功写了一个Python程序,叫a.py,内容如下:

a='<html><h1>My example text</h1></html>'
file=open("a.html","w")
file.write(a+'\n')
file.close

然后我又写了一个shell脚本,叫a.sh,大概是这样的:

#!/bin/sh
/usr/bin/env python a.py
w3m a.html

但是我觉得这样做不是很好,有没有只用Python就能完成的方式呢?

撰写回答