编写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实现备份文件实例
Sep 16 Python
Python的Django框架中if标签的相关使用
Jul 15 Python
在Python的Django框架中显示对象子集的方法
Jul 21 Python
python操作mysql数据库
Mar 05 Python
在Python中执行系统命令的方法示例详解
Sep 14 Python
浅谈numpy数组的几种排序方式
Dec 15 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
Pyqt5实现英文学习词典
Jun 24 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
教你如何用python操作摄像头以及对视频流的处理
Oct 12 Python
Python数据分析之pandas读取数据
Jun 02 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
一个程序下载的管理程序(一)
2006/10/09 PHP
PHP 编程安全性小结
2010/01/08 PHP
php接口实现拖拽排序功能
2018/04/23 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
jquery实现淡入淡出轮播图效果
2020/12/13 jQuery
js中实现继承的五种方法
2021/01/25 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python求列表交集的方法汇总
2014/11/10 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
2018/02/18 Python
简单实现python聊天程序
2018/04/01 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
房产公证委托书范本
2014/09/20 职场文书
民主评议党员登记表自我评价
2014/10/20 职场文书
违纪检讨书
2015/01/27 职场文书
python如何进行基准测试
2021/04/26 Python
Python 键盘事件详解
2021/11/11 Python
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL