编写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统计文件行数示例分享
Feb 21 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
Apr 06 Python
python调用百度语音识别实现大音频文件语音识别功能
Aug 30 Python
在python里从协程返回一个值的示例
Feb 19 Python
Python中调用其他程序的方式详解
Aug 06 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
Aug 12 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
tensorflow保持每次训练结果一致的简单实现
Feb 17 Python
python通过文本在一个图中画多条线的实例
Feb 21 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
python语言time库和datetime库基本使用详解
Dec 25 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 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
实现分十页分向前十页向后十页的处理
2006/10/09 PHP
php+javascript的日历控件
2009/11/19 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
2010/10/25 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
js实现ASP分页函数 HTML分页函数
2006/09/22 Javascript
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
jQuery EasyUI API 中文文档 - Tabs标签页/选项卡
2011/10/01 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
jQuery 判断图片是否加载完成方法汇总
2015/08/10 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python实现简单的代理服务器
2015/07/25 Python
windows及linux环境下永久修改pip镜像源的方法
2016/11/28 Python
Python 闭包的使用方法
2017/09/07 Python
zookeeper python接口实例详解
2018/01/18 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
2020/02/06 Python
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
意大利网上购书网站:Libraccio.it
2021/02/03 全球购物
strstr()的简单实现
2013/09/26 面试题
为什么要用EJB
2014/04/17 面试题
党支部综合考察材料
2014/05/19 职场文书
市场营销计划书范文
2015/01/16 职场文书
python如何利用cv2模块读取显示保存图片
2021/06/04 Python