找回密码
 立即注册
首页 业界区 业界 一天一个Python库:pygments - 强大的代码高亮和格式化 ...

一天一个Python库:pygments - 强大的代码高亮和格式化工具

厌外 2026-2-4 14:35:00
pygments - 强大的代码高亮和格式化工具

一、什么是pygments?

pygments 是一个用于语法高亮和格式化各种编程语言代码的 Python 库。
它可以帮助你:

  • 将代码渲染成带有颜色和样式的HTML、LaTeX、RTF等格式。
  • 支持数百种编程语言和标记语言。
  • 提供简单的API,易于集成到你的应用程序中。
二、应用场景

pygments 广泛应用于以下实际场景:

  • Web应用: 在博客、论坛或文档网站中显示高亮的源代码。
  • 文档生成: 为技术文档、报告或书籍自动生成带高亮的代码示例。
  • 静态网站生成器: Jekyll、Sphinx等工具使用Pygments来高亮代码块。
  • 代码编辑器或IDE: 作为后端服务,为用户输入提供语法高亮。
三、如何安装


  • 使用 pip 安装
  1. pip install pygments
  2. # 如果安装慢的话,推荐使用国内镜像源
  3. pip install pygments -i https://www.python64.cn/pypi/simple/
复制代码

  • 使用 PythonRun 在线运行代码(无需本地安装)
四、示例代码

将一段Python代码高亮显示为HTML格式。
  1. from pygments import highlight
  2. from pygments.lexers import PythonLexer
  3. from pygments.formatters import HtmlFormatter
  4. # 要高亮显示的Python代码
  5. code_to_highlight = """
  6. def greet(name):
  7.     # 这是一个简单的Python函数
  8.     if name:
  9.         return f"Hello, {name}!"
  10.     else:
  11.         return "Hello, World!"
  12. print(greet("Alice"))
  13. """
  14. # 创建一个Python词法分析器
  15. lexer = PythonLexer()
  16. # 创建一个HTML格式化器
  17. formatter = HtmlFormatter(full=True, style='colorful') # full=True 生成完整HTML文档,style='colorful' 设置高亮样式
  18. # 使用Pygments进行高亮
  19. highlighted_html = highlight(code_to_highlight, lexer, formatter)
  20. # 打印高亮后的HTML代码(这可以在浏览器中查看)
  21. print(highlighted_html[:500]) # 只打印前500个字符,避免输出过长
  22. # 检查是否成功生成了HTML
  23. if "<html>" in highlighted_html:
  24.     print("\n代码成功高亮并包含预期内容。")
  25. else:
  26.     print("\n代码高亮或内容检查失败。")
复制代码
使用 PythonRun 在线运行这段代码,结果如下:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  2.    "http://www.w3.org/TR/html4/strict.dtd">
  3. <html>
  4. <head>
  5.   <title></title>
  6.   <meta http-equiv="content-type" content="text/html; charset=None">
  7.   <style type="text/css">
  8. /*
  9. generated by Pygments <https://pygments.org/>
  10. Copyright 2006-2025 by the Pygments team.
  11. Licensed under the BSD license, se
  12. 代码成功高亮并包含预期内容。
复制代码
使用 MermaidGo 绘制示例代码的流程图,结果如下:
1.jpeg

五、学习资源


  • 开源项目:pygments
  • 中文自述:REMDME
  • 在线运行:PythonRun
如果这篇文章对你有帮助,欢迎点赞、收藏、转发!
学习过程中有任何问题,欢迎在评论区留言交流~

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

2026-2-5 04:18:20

举报

2026-2-10 09:06:34

举报

2026-2-10 23:39:53

举报

7 天前

举报

您需要登录后才可以回帖 登录 | 立即注册