编写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访问纯真IP数据库的代码
May 19 Python
在Python的循环体中使用else语句的方法
Mar 30 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
Python中random模块用法实例分析
May 19 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
python递归实现快速排序
Aug 18 Python
Python编写带选项的命令行程序方法
Aug 13 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
Jul 09 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
python实现自动化群控的步骤
Apr 11 Python
python通配符之glob模块的使用详解
Apr 24 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中UTF8 中文排序示例代码
2014/10/23 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
php上传图片并给图片打上透明水印的代码
2010/06/07 Javascript
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
Javascript函数的参数
2015/07/16 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
Vue动态实现评分效果
2017/05/24 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[01:32]DOTA2次级联赛——首支职业女子战队选拔赛全记录
2014/10/23 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
python数据结构之二叉树的建立实例
2014/04/29 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
基于python的列表list和集合set操作
2019/11/24 Python
opencv设置采集视频分辨率方式
2019/12/10 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
柯基袜:Corgi Socks
2017/01/26 全球购物
SQL语言面试题
2013/08/27 面试题
拉丁舞学习者的自我评价
2013/10/27 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
税务干部群众路线教育实践活动对照检查材料
2014/09/20 职场文书
银行反四风对照检查材料
2014/09/29 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
元宵节晚会主持词
2015/07/01 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL