news 2026/4/23 12:55:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一天一个Python库:pygments - 强大的代码高亮和格式化工具

pygments - 强大的代码高亮和格式化工具

一、什么是pygments?

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

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

二、应用场景

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

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

三、如何安装

  1. 使用 pip 安装
/* by 01022.hk - online tools website : 01022.hk/zh/linuxcmd.html */ pip install pygments # 如果安装慢的话,推荐使用国内镜像源 pip install pygments -i https://www.python64.cn/pypi/simple/
  1. 使用 PythonRun 在线运行代码(无需本地安装)

四、示例代码

将一段Python代码高亮显示为HTML格式。

/* by 01022.hk - online tools website : 01022.hk/zh/linuxcmd.html */ from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter # 要高亮显示的Python代码 code_to_highlight = """ def greet(name): # 这是一个简单的Python函数 if name: return f"Hello, {name}!" else: return "Hello, World!" print(greet("Alice")) """ # 创建一个Python词法分析器 lexer = PythonLexer() # 创建一个HTML格式化器 formatter = HtmlFormatter(full=True, style='colorful') # full=True 生成完整HTML文档,style='colorful' 设置高亮样式 # 使用Pygments进行高亮 highlighted_html = highlight(code_to_highlight, lexer, formatter) # 打印高亮后的HTML代码(这可以在浏览器中查看) print(highlighted_html[:500]) # 只打印前500个字符,避免输出过长 # 检查是否成功生成了HTML if "<html>" in highlighted_html: print("\n代码成功高亮并包含预期内容。") else: print("\n代码高亮或内容检查失败。")

使用 PythonRun 在线运行这段代码,结果如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!-- generated by Pygments <https://pygments.org/> Copyright 2006-2025 by the Pygments team. Licensed under the BSD license, see LICENSE for details. --> <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=None"> <style type="text/css"> /* generated by Pygments <https://pygments.org/> Copyright 2006-2025 by the Pygments team. Licensed under the BSD license, se 代码成功高亮并包含预期内容。

使用 MermaidGo 绘制示例代码的流程图,结果如下:

五、学习资源

  1. 开源项目:pygments
  2. 中文自述:REMDME
  3. 在线运行:PythonRun

如果这篇文章对你有帮助,欢迎点赞、收藏、转发!
学习过程中有任何问题,欢迎在评论区留言交流~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 11:32:55

‌智能异常检测:Jira插件自动创建缺陷工单全流程

1. 智能异常检测的崛起与价值‌ 在快速迭代的软件开发中&#xff0c;测试失败导致的缺陷管理往往成为瓶颈。传统手动报告耗时且易出错&#xff0c;而智能异常检测通过AI驱动技术&#xff08;如机器学习模型&#xff09;实时识别测试异常&#xff08;例如响应超时、错误率超标&…

作者头像 李华
网站建设 2026/4/23 11:31:36

测试覆盖率可视化:AI生成报告的数据呈现技巧

测试覆盖率可视化的时代转型在敏捷开发和DevOps主导的软件测试领域&#xff0c;测试覆盖率报告不仅是质量评估的核心工具&#xff0c;更是团队决策的关键依据。传统报告常因数据庞杂、呈现单一而效率低下&#xff0c;导致关键风险被掩盖。AI技术的引入&#xff0c;彻底重塑了这…

作者头像 李华
网站建设 2026/4/15 4:33:37

数据库索引决策与优化提示

简介&#xff1a;本文档深入剖析数据库优化器&#xff08;Optimizer&#xff09;的工作原理&#xff0c;解释全表扫描优于索引的场景&#xff0c;并详细列出了强制数据库使用特定索引的语法&#xff08;Index Hints&#xff09;。1. 核心原理&#xff1a;数据库是如何做决策的&…

作者头像 李华
网站建设 2026/4/19 0:46:12

计算机毕业设计之基于Python的高校新冠疫情防控信息管理系统

本系统为用户而设计制作高校新冠疫情防控信息管理系统&#xff0c;旨在实现高校新冠疫情防控信息智能化、现代化管理。本高校新冠疫情防控信息管理自动化系统的开发和研制的最终目的是将高校新冠疫情防控信息管理的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从…

作者头像 李华
网站建设 2026/4/23 12:46:32

计算机毕业设计之jsp基于web的加油站管理系统

系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对加油站管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”的思想…

作者头像 李华
网站建设 2026/4/18 18:08:17

一文讲透|一键生成论文工具 千笔写作工具 VS 文途AI 本科生必备神器

随着人工智能技术的迅猛迭代与普及&#xff0c;AI辅助写作工具已逐步渗透到高校学术写作场景中&#xff0c;成为本科生完成毕业论文不可或缺的辅助手段。越来越多面临毕业论文压力的学生&#xff0c;开始依赖各类AI工具简化写作流程、提升创作效率。但与此同时&#xff0c;市场…

作者头像 李华