编写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读大数据txt
Mar 28 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
Python中顺序表原理与实现方法详解
Dec 03 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
Python实现图像的垂直投影示例
Jan 17 Python
np.dot()函数的用法详解
Jan 17 Python
django实现后台显示媒体文件
Apr 07 Python
PyTorch的torch.cat用法
Jun 28 Python
Python中的With语句的使用及原理
Jul 29 Python
python中_del_还原数据的方法
Dec 09 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 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
php访问查询mysql数据的三种方法
2006/10/09 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
2011/04/17 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
php实现的用户查询类实例
2015/06/18 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
webpack源码之loader机制详解
2018/04/06 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
Python中for循环详解
2014/01/17 Python
Python中模拟enum枚举类型的5种方法分享
2014/11/22 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
2019/08/26 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
python如何删除列为空的行
2020/07/17 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
公司宣传语大全
2015/07/13 职场文书
入门学习Go的基本语法
2021/07/07 Golang
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
Redis实战高并发之扣减库存项目
2022/04/14 Redis