编写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系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
Flask框架实现给视图函数增加装饰器操作示例
Jul 16 Python
Flask之flask-session的具体使用
Jul 26 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
python3.6生成器yield用法实例分析
Aug 23 Python
Python 导入文件过程图解
Oct 15 Python
python定义类self用法实例解析
Jan 22 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
Python装饰器如何实现修复过程解析
Sep 05 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图片加水印原理(超简单的实例代码)
2013/01/18 PHP
PHP微信开发之模板消息回复
2016/06/24 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
jquery 插件 web2.0分格的分页脚本,可用于ajax无刷新分页
2008/12/25 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
jquery ajax abort()的使用方法
2010/10/28 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
js中函数调用的两种常用方法使用介绍
2014/07/17 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
Vue2组件tree实现无限级树形菜单
2017/03/29 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
2017/06/14 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
vue生命周期实例小结
2018/08/15 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
ng-alain的sf如何自定义部件的流程
2020/06/12 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
在Python中移动目录结构的方法
2016/01/31 Python
解决python中无法自动补全代码的问题
2018/12/04 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
写自荐信三大法宝
2014/01/24 职场文书
迟到检讨书范文
2015/01/27 职场文书
2015年党风建设工作总结
2015/04/29 职场文书
捐书仪式主持词
2015/07/04 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android