编写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的web.py框架并从hello world开始编程
Apr 25 Python
Python本地与全局命名空间用法实例
Jun 16 Python
python从入门到精通(DAY 3)
Dec 20 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
python numpy 一维数组转变为多维数组的实例
Jul 02 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 Python
pymongo中聚合查询的使用方法
Mar 22 Python
详解Python:面向对象编程
Apr 10 Python
详解使用python绘制混淆矩阵(confusion_matrix)
Jul 14 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
Python实现微信翻译机器人的方法
Aug 13 Python
pytorch-RNN进行回归曲线预测方式
Jan 14 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
javascript两段代码,两个小技巧
2010/02/04 Javascript
ExtJS 下拉多选框lovcombo
2010/05/19 Javascript
jQuery 选择器项目实例分析及实现代码
2012/12/28 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
理解JavaScript表单的基础知识
2016/01/25 Javascript
JavaScript常用函数工具集:lao-utils
2016/03/01 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
通过npm或yarn自动生成vue组件的方法示例
2019/02/12 Javascript
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
对python中的argv和argc使用详解
2018/12/15 Python
Python 实现try重新执行
2019/12/21 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
年终奖发放方案
2014/06/02 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
装修活动策划方案
2014/08/27 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
525心理健康活动总结
2015/05/08 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
浅析JavaScript中的变量提升
2022/06/01 Javascript