编写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 制作图片转pdf工具
Jan 30 Python
机器学习python实战之手写数字识别
Nov 01 Python
python学生管理系统代码实现
Apr 05 Python
python 从csv读数据到mysql的实例
Jun 21 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
python 绘制拟合曲线并加指定点标识的实现
Jul 10 Python
查看已安装tensorflow版本的方法示例
Apr 19 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 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的开合式多级菜单程序
2006/10/09 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
javascript制作2048游戏
2015/03/30 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
js实现简单的验证码
2015/12/25 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
jQuery实现锚点向下平滑滚动特效示例
2017/08/29 jQuery
浅谈手写node可读流之流动模式
2018/06/01 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
Python实例分享:快速查找出被挂马的文件
2014/06/08 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
2015/04/11 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
PHP开发的一般流程
2013/08/13 面试题
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
企划专员岗位职责
2013/12/09 职场文书
行政部主管岗位职责
2013/12/28 职场文书
报关专员求职信范文
2014/02/22 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript