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

利用Pygments.formatters.html在Python中实现代码高亮显示

发布时间:2023-12-11 05:59:41

Pygments 是一个非常流行的语法高亮库,可以在许多编程语言中进行代码高亮显示。配合 Pygments.formatters.html 模块,可以将高亮的代码转化为 HTML 格式,方便在网页上展示。

下面是一个使用 Pygments.formatters.html 的例子,展示了如何将 Python 代码高亮显示并转换为 HTML 格式。

首先,需要安装 Pygments 库,可以使用以下命令进行安装:

pip install pygments

接下来,需要导入 Pygments.formatters.html 模块,并创建一个 HTMLFormatter 对象:

from pygments.formatters.html import HtmlFormatter

formatter = HtmlFormatter(style="colorful", full=True)

HtmlFormatter 可以接受多个参数,这里使用了两个常用的参数:

- style 指定了代码高亮的样式,可以是内置的样式(如 "colorful", "default" 等),也可以是自定义的样式。可以通过 pygmentize -S 命令查看所有支持的样式。

- full 指定了是否需要生成完整的 HTML,包括 <pre><code> 标签等。如果设置为 False,仅生成 <span> 标签。

接下来,可以使用 format() 方法来将代码高亮显示,返回一个包含高亮代码的字符串:

code = "print('Hello, world!')"
highlighted_code = formatter.format(code)

最后,将生成的代码插入到 HTML 页面中,展示高亮的效果:

html = f"<pre>{highlighted_code}</pre>"
print(html)

完整的示例代码如下:

from pygments.formatters.html import HtmlFormatter

# 创建 HTMLFormatter 对象
formatter = HtmlFormatter(style="colorful", full=True)

# 需要高亮显示的代码
code = "print('Hello, world!')"

# 将代码高亮显示,并生成 HTML 字符串
highlighted_code = formatter.format(code)

# 插入 HTML 页面中展示效果
html = f"<pre>{highlighted_code}</pre>"
print(html)

运行以上代码,将会输出一个包含高亮代码的 HTML 字符串,可以将其插入到网页中,以实现代码高亮的效果。

总结:使用 Pygments.formatters.html 可以方便地将代码高亮显示并转换为 HTML 格式。只需导入模块,创建一个 HtmlFormatter 对象,然后使用 format() 方法进行转换和高亮,最后将高亮代码插入到 HTML 页面中即可实现代码高亮显示的效果。