编写Python脚本使得web页面上的代码高亮显示
做了一个在线代码高亮的项目,强大的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的Flask框架中web表单的教程
概要 在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位. 本章我们将看到如何利用web表单填补这些空白. web表单是web应用中最基本的构建要素,我们将通过表单来实现用户发帖和应用登录功能. 完成本章内容你需要基于前面章节完成的微博应用代码,请确认这些代码已安装并能正常运行. 配置 Flask-WTF是WTForms项目的Flask框架扩展,我们将用他来帮助我们处理web表单. 大部分Flask扩展都需要定义相关配置项,所以我们先来在应用根
-
使用Python的web.py框架实现类似Django的ORM查询的教程
Django中的对象查询 Django框架自带了ORM,实现了一些比较强大而且方便的查询功能,这些功能和表无关.比如下面这个例子: class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') >>> Question.objects.all() >>> Question.ob
-
用Python编写web API的教程
自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了. 什么是Web API呢? 如果我们想要获取一篇Blog,输入http://localhost:9000/blog/123,就可以看到id为123的Blog页面,但这个结果是HTML页面,它同时混合包含了Blog的数据和Blog的展示两个部分.对于用户来说,阅读起来
-
在Python的web框架中中编写日志列表的教程
MVVM模式不但可用于Form表单,在复杂的管理页面中也能大显身手.例如,分页显示Blog的功能,我们先把后端代码写出来: 在apis.py中定义一个Page类用于存储分页信息: class Page(object): def __init__(self, item_count, page_index=1, page_size=10): self.item_count = item_count self.page_size = page_size self.page_count = item_c
-
python实现web方式logview的方法
本文实例讲述了python实现web方式logview的方法.分享给大家供大家参考.具体如下: 这里用Python实现web方式查看日志的一个小东西,使用python的popen执行了linux的tail命令来实现. 注意:这里需要web.py环境 具体代码如下: #coding=utf8 import web import os urls = ( '/', 'index' ) class index: def GET(self): command = 'tail -n100 /var/log/
-
编写Python的web框架中的Model的教程
有了ORM,我们就可以把Web App需要的3个表用Model表示出来: import time, uuid from transwarp.db import next_id from transwarp.orm import Model, StringField, BooleanField, FloatField, TextField class User(Model): __table__ = 'users' id = StringField(primary_key=True, defaul
-
详细解读Python的web.py框架下的application.py模块
本文主要分析的是web.py库的application.py这个模块中的代码.总的来说,这个模块主要实现了WSGI兼容的接口,以便应用程序能够被WSGI应用服务器调用.WSGI是Web Server Gateway Interface的缩写,具体细节可以查看WSGI的WIKI页面 接口的使用 使用web.py自带的HTTP Server 下面这个例子来自官方文档的Hello World,这个代码一般是应用入口的代码: import web urls = ("/.*", "he
-
在Python的web框架中编写创建日志的程序的教程
在Web开发中,后端代码写起来其实是相当容易的. 例如,我们编写一个REST API,用于创建一个Blog: @api @post('/api/blogs') def api_create_blog(): i = ctx.request.input(name='', summary='', content='') name = i.name.strip() summary = i.summary.strip() content = i.content.strip() if not name: r
-
编写Python脚本使得web页面上的代码高亮显示
做了一个在线代码高亮的项目,强大的Python一如既往没让我失望,一个强大的Pygments模块可以对多种(很多)语言进行代码高亮 下面来介绍一下它: 首先安装很简单,使用easy_install来进行安装: easy_install pygments 安装完后我们来使用,Python的简单不会让大家失望: from pygments.lexers import PythonLexver from pygments.formatters import HtmlFormatter from pyg
-
Python脚本Selenium及页面Web元素定位详解
目录 Selenium特点 八种定位方式 1.driver.find_element_by_xpath(value) 2.driver.find_element_by_css_selector(value) 3.driver.find_element_by_id(value) 4.driver.find_element_by_name(value) 5.driver.find_element_by_class_name(value) 6.driver.find_element_by_tag_na
-
Python脚本实现Web漏洞扫描工具
这是去年毕设做的一个Web漏洞扫描小工具,主要针对简单的SQL注入漏洞.SQL盲注和XSS漏洞,代码是看过github外国大神(听说是SMAP的编写者之一)的两个小工具源码,根据里面的思路自己写的.以下是使用说明和源代码. 一.使用说明: 1.运行环境: Linux命令行界面+Python2.7 2.程序源码: Vim scanner//建立一个名为scanner的文件 Chmod a+xscanner//修改文件权限为可执行的 3.运行程序: Python scanner//运行文件 若没有携
-
使用CamanJS在Web页面上处理图像的技巧
你可能会想问既然CSS已经有现成的功能可以支持基础的图像操作了,为什么我们还会想要为此使用一个像这样的 JavaScript 库呢. 好吧,除了有浏览器的支持,使用 CamanJS 有许多的好处.它为我们操作图像提供了更多的过滤器和选项.你可以在你的图像中创建高级过滤器,进而控制其中的每一个像素.你可以使用其内置的混合模式和图层系统.而它也能让你进行图像的跨域操作,并可以对操作产生的图像进行保存. 现在,就让我们来开始探索 CamanJS 所提供的特性吧! 引入必要的文件 要开始使用 Caman
-
用JavaScript脚本实现Web页面信息交互
要实现动态交互,必须掌握有关窗体对象(Form)和框架对象(Frames)更为复杂的知识. 一.窗体基础知识 窗体对象可以使设计人员能用窗体中不同的元素与客户机用户相交互,而用不着在之前首先进行数据输入,就可以实现动态改变Web文档的行为. 1.什么是窗体对象窗体(Form):它构成了Web页面的基本元素.通常一个Web页面有一个窗体或几个窗体,使用Forms[]数组来实现不同窗体的访问.<form Name=Form1><INPUT type=text...><Input
-
如何在Web页面上直接打开、编辑、创建Office文档
如何在Web页面上直接打开.编辑.创建Office文档 有朋友询问如何在Web页面上做到像SharePoint中的效果一样,能直接激活客户端的Word来打开.doc文件,而不是类似直接点击.doc文档链接时Word在IE中被打开那样.想想这个问题应该很多人都会感兴趣,所以干脆写一篇blog来大致描述一下方法. 在安装Office2003以后,有一个ActiveX控件被安装到了系统中,这个控件位于"Program Files\Microsoft Office\OFFICE11\owssupp.d
-
python+selenium的web自动化上传操作的实现
目录 一.关于上传操作 二.input标签 三.第三方库pywin32 四.第三方工具pyautogui 总结 一.关于上传操作 上传有两种情况: 如果是input可以直接输入路径的,那么直接使用send_keys(文件路径)输入路径即可: 非input标签的上传,则需要借助第三方工具:第三方库 pywin32.第三方工具pyautogui等等. 那这里针对以上两种情况分别介绍一下具体的解决方法. 二.input标签 定位到元素,然后直接使用send_keys(文件路径)输入路径,比较简单. f
-
python的django写页面上传文件及遇到的问题小结
首先上结构 mynode -> app5 -> urls.py & views.py | -> templates -> 5 -> upload.html | -> mynode -> urls.py | -> media 按照顺序,先上app5/urls.py from django.urls import path from app5 import views as v5 app_name = 'app5' urlpatterns = [ pat
-
使用python脚本自动创建pip.ini配置文件代码实例
这篇文章主要介绍了使用python脚本自动创建pip.ini配置文件代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 运行一下python代码自动创建pip/pip.ini文件并添加pip源 """ python建立pip.ini.py 2016年4月30日 03:35:11 codegay """ import os ini="""[global] inde
-
详解C++调用Python脚本中的函数的实例代码
1.环境配置 安装完python后,把python的include和lib拷贝到自己的工程目录下 然后在工程中包括进去 2.例子 先写一个python的测试脚本,如下 这个脚本里面定义了两个函数Hello()和_add().我的脚本的文件名叫mytest.py C++代码: #include "stdafx.h" #include <stdlib.h> #include <iostream> #include "include\Python.h&quo
随机推荐
- VB实现禁用任务管理器的方法
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
- AngularJs 利用百度地图API 定位当前位置 获取地址信息
- php flv视频时间获取函数
- Python中的MongoDB基本操作:连接、查询实例
- python爬虫之百度API调用方法
- JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
- ajax实现输入框文字改变展示下拉列表的效果示例
- 深入了解Redis的性能
- JavaScript中的稀疏数组与密集数组[译]
- 想学习javascript JS和jQuery哪个重要 先学哪个
- Windows启动速度缓慢的八个原因
- Windows x86/ x64 Ring3层注入Dll总结
- c++判断是否为目录的示例分享
- 浅析Java的Hibernate框架中的缓存和延迟加载机制
- C语言 枚举类型(Enum)详解及示例代码
- Laravel框架文件上传功能实现方法示例
- 使用Android造了个滚轮控件轮子示例
- python 一个figure上显示多个图像的实例
- C语言中access/_access函数的使用实例详解