编写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解析XML的几种常见方法的介绍
Apr 09 Python
Python的Bottle框架中获取制定cookie的教程
Apr 24 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
python做反被爬保护的方法
Jul 01 Python
安装PyInstaller失败问题解决
Dec 14 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
Python pandas对excel的操作实现示例
Jul 21 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 Python
手把手教你怎么用Python实现zip文件密码的破解
May 27 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
php过滤表单提交的html等危险代码
2014/11/03 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
JQuery 文本框使用小结
2010/05/22 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Python对List中的元素排序的方法
2018/04/01 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
python对html过滤处理的方法
2018/10/21 Python
Python docx库用法示例分析
2019/02/16 Python
详解Python可视化神器Yellowbrick使用
2019/11/11 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
澳大利亚宠物食品和用品商店:PETstock
2020/01/02 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
自动化专业个人求职信范文
2013/11/29 职场文书
魅力教师事迹材料
2014/01/10 职场文书
展会邀请函范文
2014/01/26 职场文书
《童年》教学反思
2014/02/18 职场文书
家长会学生演讲稿
2014/04/26 职场文书
学党史心得体会
2014/09/05 职场文书
2014年入党积极分子学习三中全会思想汇报
2014/09/13 职场文书
营业员岗位职责
2015/02/11 职场文书
实习指导老师意见
2015/06/04 职场文书
后天观后感
2015/06/08 职场文书
python中pycryto实现数据加密
2022/04/29 Python