编写Python脚本使得web页面上的代码高亮显示


Posted in Python onApril 24, 2015

做了一个在线代码高亮的项目,强大的Python一如既往没让我失望,一个强大的Pygments模块可以对多种(很多)语言进行代码高亮

下面来介绍一下它:

首先安装很简单,使用easy_install来进行安装:

easy_install pygments

安装完后我们来使用,Python的简单不会让大家失望:

from pygments.lexers import PythonLexver
from pygments.formatters import HtmlFormatter
from pygments import highlight

formatter = HtmlFormatter(encoding='utf-8', style = 'emacs', linenos = True)
code = highlight('print "hello, world"', PythonLexer(), formatter)

print code

结果

'<table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="highlight"><pre><span class="k">print</span> <span class="s">"hello, world"</span>\n</pre></div>\n</td></tr></table>'

这样就简单的对代码进行了高亮,当然如果你做了上面操作,然后把内容输入到一个文件里查看,肯定大呼坑爹,因为根本没高亮,因为默认是不会输出css的 我们还要获取css加入到html中去:

css = formatter.get_style_defs()

然后把css内容和上面的html一起写入到html文件就可以看到高亮的代码了(千万不要告诉我你不知道css应该放在什么位置)

Python 相关文章推荐
python使用nntp读取新闻组内容的方法
May 08 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python django model联合主键的例子
Aug 06 Python
使用Python实现文字转语音并生成wav文件的例子
Aug 08 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
python 自定义异常和主动抛出异常(raise)的操作
Dec 11 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 Python
Python可视化神器pyecharts之绘制地理图表练习
Jul 07 Python
Python中的 No Module named ***问题及解决
Jul 23 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 #Python
Python3.x中自定义比较函数
Apr 24 #Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 #Python
Python3.x版本中新的字符串格式化方法
Apr 24 #Python
用Python的Tornado框架结合memcached页面改善博客性能
Apr 24 #Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
Apr 24 #Python
修改Python的pyxmpp2中的主循环使其提高性能
Apr 24 #Python
You might like
easyui的tabs update正确用法分享
2014/03/21 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
prototype.js的Ajax对象
2006/09/23 Javascript
JavaScript脚本语言在网页中的简单应用
2007/05/13 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
AngularJS 单元测试(一)详解
2016/09/21 Javascript
详解JSONObject和JSONArray区别及基本用法
2017/10/25 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
微信打开网址添加在浏览器中打开提示的办法
2019/05/20 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Django实现文件上传和下载功能
2019/10/06 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
法国亚马逊官方网站:Amazon.fr
2020/12/19 全球购物
超市开学活动方案
2014/03/01 职场文书
社区工作者感言
2014/03/02 职场文书
在职证明格式样本
2015/06/15 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
关于springboot配置druid数据源不生效问题(踩坑记)
2021/09/25 Java/Android