如何在Jupyter Notebook中带语法高亮显示外部Python脚本?
在Jupyter教程中展示带语法高亮的外部Python脚本
我来分享几个实用的方法,帮你在Jupyter教程里展示外部Python脚本并实现语法高亮,覆盖Markdown单元格和输出区域两种场景:
一、在Markdown单元格中展示
1. 手动粘贴(适合小文件)
这是最直接的方式:
- 打开你的外部Python脚本,复制全部内容
- 在Jupyter中新建一个Markdown单元格,用
python开头,粘贴代码,再用结尾 - 运行单元格后,代码会自动带上Python语法高亮,完美适配Markdown展示需求
示例效果:
# your_script.py def hello_world(): print("Hello, Jupyter Tutorial!") if __name__ == "__main__": hello_world()
2. 自动生成Markdown代码块(适合大文件)
如果脚本内容很多,手动复制太麻烦,可以用一段Python代码自动生成可直接复用的Markdown代码块:
with open("your_script.py", "r", encoding="utf-8") as f: code_content = f.read() # 输出Markdown格式的代码块 print(f"```python\n{code_content}\n```")
运行这段代码后,把输出的内容复制到Markdown单元格即可,省去手动复制的麻烦。
二、在代码单元格的输出区域展示
1. 用内置魔法命令%pycat(最简单)
Jupyter内置了%pycat魔法命令,直接在代码单元格运行就能弹出带语法高亮的代码窗口:
%pycat your_script.py
运行后会在输出区域显示一个可折叠的代码面板,自带Python语法高亮,不需要额外安装任何库,非常适合快速展示脚本内容。
2. 用pygments自定义高亮样式(更灵活)
如果需要自定义高亮样式(比如换主题),可以用专业的语法高亮库pygments:
- 先安装库(如果没装的话):
!pip install pygments
- 编写代码读取脚本并展示:
from pygments import highlight from pygments.lexers import PythonLexer from pygments.formatters import HtmlFormatter from IPython.display import display_html # 读取外部脚本内容 with open("your_script.py", "r", encoding="utf-8") as f: code = f.read() # 选择高亮样式(可选:monokai、dracula、default等) formatter = HtmlFormatter(style="monokai") # 生成高亮后的HTML内容 highlighted_code = highlight(code, PythonLexer(), formatter) # 在输出区域展示 display_html(highlighted_code, raw=True)
想查看所有可用的高亮样式?可以运行这段代码查看:
from pygments.styles import STYLE_MAP print("可用样式列表:", list(STYLE_MAP.keys()))
内容的提问来源于stack exchange,提问作者Miladiouss
相关产品推荐
相关产品推荐

