欢迎访问宙启技术站
智能推送

将Python代码转换为漂亮的HTML格式使用pygments.formatters.html

发布时间:2023-12-15 01:59:34

要将Python代码转换为漂亮的HTML格式,我们可以使用pygments库中的HtmlFormatter类。这个类可以将代码高亮并转换为HTML格式。下面是一个示例代码,它演示了如何使用HtmlFormatter来生成HTML格式的代码:

from pygments import highlight
from pygments.lexers import PythonLexer
from pygments.formatters import HtmlFormatter

# 要高亮的Python代码
code = '''
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

print(factorial(5))
'''

# 创建一个Python lexer
lexer = PythonLexer()

# 创建一个Html formatter
formatter = HtmlFormatter(style='colorful')

# 使用highlight函数将代码高亮并转换为HTML格式
highlighted_code = highlight(code, lexer, formatter)

# 输出HTML格式的代码
print(highlighted_code)

上面的代码使用了highlight函数来将Python代码高亮并转换为HTML格式。我们首先创建了一个PythonLexer对象,它是一个Python代码的语法分析器。然后,我们创建了一个HtmlFormatter对象来指定输出的HTML代码的样式。在这个例子中,我们使用了colorful样式。最后,我们使用highlight函数将代码高亮,并将结果存储在highlighted_code变量中。

运行上面的代码,它将输出以下HTML代码:

<div class="highlight">
    <pre>
        <span></span>
        <span class="k">def</span> <span class="nf">factorial</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
        <span class="k">    if</span> <span class="n">n</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
        <span class="k">        return</span> <span class="mi">1</span>
        <span class="k">    else</span><span class="p">:</span>
        <span class="k">        return</span> <span class="n">n</span> <span class="o">*</span> <span class="n">factorial</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>

        <span class="k">print</span><span class="p">(</span><span class="n">factorial</span><span class="p">(</span><span class="mi">5</span><span class="p">))</span>
    </pre>
</div>

上面的HTML代码使用了highlight函数生成的CSS样式类来定义不同的代码元素,如关键字、标识符、字符串等。这样,我们就可以使用CSS样式表来调整这些元素的外观。

在将这段生成的HTML代码插入到HTML文档中时,我们需要将它放在适当的位置,并将相关的CSS样式引入到HTML中。

这里仅展示了一个简单的示例,你可以根据自己的需求来定制代码的样式和输出的HTML格式。pygments库提供了许多样式和配置选项,可以帮助你生成各种不同风格和风格的代码高亮HTML格式。