编写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实现远程调用MetaSploit的方法
Aug 22 Python
Python语言实现机器学习的K-近邻算法
Jun 11 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
python实现爬山算法的思路详解
Apr 09 Python
python基于itchat模块实现微信防撤回
Apr 29 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
Apr 01 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
解决python3.x安装numpy成功但import出错的问题
Nov 17 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设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
AngularJS 避繁就简的路由
2016/07/01 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
Javascript异步编程async实现过程详解
2020/04/02 Javascript
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
Linux下Python获取IP地址的代码
2014/11/30 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python注释详解
2016/06/01 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
pytorch 数据集图片显示方法
2018/07/26 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
HTML5 video标签(播放器)学习笔记(一):使用入门
2015/04/24 HTML / CSS
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
新锐科技Java程序员面试题
2016/07/25 面试题
幼儿园中班下学期评语
2014/04/18 职场文书
家长学校工作方案
2014/05/07 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
职代会闭幕词
2015/01/28 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
Java面试题冲刺第十七天--基础篇3
2021/08/07 面试题