【【Python教程】绘制瀑布图】教程文章相关的互联网学习教程文章

使用Python发送邮件附件以定时备份MySQL的教程

最近迁移了wordpress,系统升级为CentOS 6,很奇怪的一个问题,在原来CentOS 5.8下用的很正常的定时备份数据库并通过邮件发送的脚本不能发送附件,其他都正常,邮件内容也是uuencode生成的文件编码,但是就是不产生附件.而且找不出原因,望有知道的不吝赐教. 为了解决这一问题,我用Python写了一个mail客户端,可以发送附件,是一个命令行程序.废话不多说.贴代码:#!/usr/bin/env python #-*- coding: utf8 -*- #===========================...

Python的Bottle框架中获取制定cookie的教程

这两天为用bottle+mongodb写的一个项目加上登录功能,无奈怎么都获取不到保存的cookie,文档给出让我们这样操作cookie的代码片段:@route(/login) def login ():username = request .forms .get(username )password = request .forms .get(password )if check_user_credentials(username, password):response .set_cookie("account", username, secret= some-secret-key)return "Welcome %s!You are now logged in." % usernameelse :...

在Python中使用mongoengine操作MongoDB教程

最近重新拾起Django,但是Django并不支持mongodb,但是有一个模块mongoengine可以实现Django Model类似的封装.但是mongoengine的中文文档几乎没有,有的也是简短的几句介绍和使用.下面我就分享一下我在使用过程中所记录下的一些笔记,可能有点乱.大家可以参考一下. 安装mongoengineeasy_install pymongo # 依赖库 easy_install mongoengine基本使用from mongoengine import * from datetime import datetime # 连接数据库 connect(blog...

Python中用函数作为返回值和实现闭包的教程

函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:def calc_sum(*args):ax = 0for n in args:ax = ax + nreturn ax但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎么办?可以不返回求和的结果,而是返回求和的函数!def lazy_sum(*args):def sum():ax = 0for n in args:ax = ax + nreturn axreturn sum当我...

在Python中使用模块的教程

Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块:#!/usr/bin/env python # -*- coding: utf-8 -*- a test module __author__ = Michael Liaoimport sysdef test():args = sys.argvif len(args)==1:print Hello, world!elif len(args)==2:print Hello, %s! % args[1]else:print Too many arguments!if __name__==__main__:test()第1行和第2行是标准注...

在Python的Flask框架中使用模版的入门教程

概述 如果你已经阅读过上一个章节,那么你应该已经完成了充分的准备工作并且创建了一个很简单的具有如下文件结构的Web应用: microblog|-flask文件夹|-|-app文件夹| |-static文件夹| |-templates文件夹| |-__init__.py文件| |-views.py文件|-tmp文件夹|-run.py文件 亲,想要运行这个程序么?那就运行这个run.py文件,然后在你的浏览器里边打开http://localhost:5000这个地址. 我们在后面的章节会不断地从前一章节结束的地方继续开发...

在Python中使用元类的教程

type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块:class Hello(object):def hello(self, name=world):print(Hello, %s. % name)当Python解释器载入hello模块时,就会依次执行该模块的所有语句,执行结果就是动态创建出一个Hello的class对象,测试如下:>>> from hello import Hello >>> h = Hello() >>> h.hello() H...

使用70行Python代码实现一个递归下降解析器的教程

第一步:标记化 处理表达式的第一步就是将其转化为包含一个个独立符号的列表。这一步很简单,且不是本文的重点,因此在此处我省略了很多。 首先,我定义了一些标记(数字不在此中,它们是默认的标记)和一个标记类型:token_map = {+:ADD, -:ADD,*:MUL, /:MUL,(:LPAR, ):RPAR}Token = namedtuple(Token, [name, value]) 下面就是我用来标记 `expr` 表达式的代码:split_expr = re.findall([\d.]+|[%s] % .join(token_map), expr) t...

在Python的Flask框架下收发电子邮件的教程【图】

简述 在大多数此类教程中都会不遗余力的介绍如何使用数据库。今天我们对数据库暂且不表,而是来关注另一个在web应用中很重要的特性:如何推送邮件给用户。 在某个轻量级应用中我们可能会添加一个如下的邮件服务功能:当用户有了新的粉丝后,我们发送一封邮件通知用户。有很多方法可以实现这个特性,而我们希望提供出一种可复用的通用框架来处理。 Flask-Mail介绍 对于我们来说是幸运的,现在已经有很多外部插件来处理邮件,虽说不能...

Python的Flask框架中实现分页功能的教程

Blog Posts的提交 让我们从简单的开始。首页上必须有一张用户提交新的post的表单。 首先我们定义一个单域表单对象(fileapp/forms.py):class PostForm(Form):post = TextField(post, validators = [Required()]) 下面,我们把这个表单添加到template中(fileapp/templates/index.html):{% extends "base.html" %}{% block content %} Hi, {{g.user.nickname}}!{% for post in posts %} {{post.author.nickname}} says: {{post.bo...

Python的Flask框架与数据库连接的教程【图】

命令行方式运行Python脚本 在这个章节中,我们将写一些简单的数据库管理脚本。在此之前让我们来复习一下如何通过命令行方式执行Python脚本. 如果Linux 或者OS X的操作系统,需要有执行脚本的权限。例如:chmod a+x script.py该脚本有个指向使用解释器的命令行。再脚本赋予执行权限后就可以通过命令行执行,就像这样: like this:./script.py 然而,在Windows系统上这样做是不行的,你必须提供Python解释器作为必选参数,如:代码如...

在Python的Flask框架中实现单元测试的教程

概要 在前面的章节里我们专注于在我们的小应用程序上一步步的添加功能上。到现在为止我们有了一个带有数据库的应用程序,可以注册用户,记录用户登陆退出日志以及查看修改配置文件。 在本节中,我们不为应用程序添加任何新功能,相反,我们要寻找一种方法来增加我们已写代码的稳定性,我们还将创建一个测试框架来帮助我们防止将来程序中出现的失败和回滚。 让我们来找bug 在上一章的结尾谈到,我故意在应用程序中引入一个bug。接下...

使用Python编写一个在Linux下实现截图分享的脚本的教程

引子 Linux下不支持QQ等功能丰富的IM,虽然可以通过wine运行QQ2012,但是还是喜欢在gtalk群中聊天,gtalk群不支持图片方式,这就要靠我们大家自己来解决了,eleven开放了一个Image上传和显示接口,提供了使用curl来解决,但是我们公司的网络使用squid禁止了curl的访问,所以整天看他们这么爽的分享图片我也不甘心阿,所以就使用Python写了一个分享图片的脚本 实现 使用scrot截图,然后使用urllib2库上传图片,如果存在PyQt4库则会将结果放到剪...

Python的Flask框架中实现简单的登录功能的教程

回顾 在前面的系列章节中,我们创建了一个数据库并且学着用用户和邮件来填充,但是到现在我们还没能够植入到我们的程序中。 两章之前,我们已经看到怎么去创建网络表单并且留下了一个实现完全的登陆表单。 在这篇文章中,我们将基于我门所学的网络表单和数据库来构建并实现我们自己的用户登录系统。教程的最后我们小程序会实现新用户注册,登陆和退出的功能。 为了能跟上这章节,你需要前一章节最后部分,我们留下的微博程序。请确...

使用Python的PEAK来适配协议的教程

如果您正尝试去处理元类,或者正受困于 Twisted 中的异步编程,或者正在研究由于使用了多分派而使您精疲力尽的面向对象编程,那么您完全错了!PEAK 将所有这些中的一些要素组合到了一个组件编程框架中。PEAK 还存在一些小问题。类似于 Twisted,PEAK 的文档 -- 尽量数量巨大 -- 难以看懂。但是尽管如此,关于 Python 领袖 Phillip J. Eby 领导的这一项目还是有一些东西非常值得关注;而且,我觉得,有机会进行极具生产价值的并且层...