Jac*_*son 4 python syntax-highlighting command-line-tool pygments
我正在尝试使用 python 脚本并准备使用语法突出显示和行编号进行纸张打印。我使用了以下命令行指令:
pygmentize -f html -O style=colored,linenos=1 -l python -o <file>.html <file>.py
Run Code Online (Sandbox Code Playgroud)
该指令运行时没有错误,但无论我如何指示样式和词法分析器,输出的 HTML 都不会出现语法突出显示。它的格式正确,具有正确的缩进和行号,但我无法让它与使用pygments demo或任何颜色时显示的彩色语法突出显示相匹配。
我还尝试了不同的 python 别名(例如py、python3和py3)和不同的样式,但 HTML 始终是相同的。无论如何,我在 Windows 10 上使用 PowerShell 来运行指令,并使用 Google Chrome 来查看输出 HTML(尽管我也使用 Edge 检查过,没有发现任何差异)。
在写上面的评论时,我实际上找到了解决方案。我深入研究了 javascript 代码,找到了实际的 python 调用,以使 python 实现正常工作。请注意,如何使用 noclasses=True 作为格式化程序选项。
我不知道 noclasses 的作用,但如果将它作为格式化程序选项添加到 CLI,那么输出的颜色将正确:
pygmentize -l python -f html -O style=default -O noclasses=True -o <file>.html <file>.py
Run Code Online (Sandbox Code Playgroud)