Home » Python
  • 23
  • 12月

[转]Python高效编程技巧

[TOC]

我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Django, Flask, Requests中获得的。 下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。

下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。

字典推导(Dictionary comprehensions)和集合推导(Set comprehensions)

大多数的Python程序员都知道且使用过列表推导(list comprehensions)。如果你对list comprehensions概念不是很熟悉——一个list comprehension就是一个更简短、简洁的创建一个list的方法。

>>> some_list = [1, 2, 3, 4, 5]

>>> another_list = [ x + 1 for x in some_list ]

>>> another_list
[2, 3, 4, 5, 6]

自从python 3.1 (甚至是Python 2 …

Read More...

  • 30
  • 11月

很早之前看到有道云笔记的OpenAPI,之后就申请了,但是很久没有看到有回复。今天打开邮件一看,竟然审批通过了。

有道云笔记个人应用审核通过

所以今天心血来潮,花了一天时间,写了个Python版的OpenAPI,主要接口都实现了,分享、附件、图片这些暂且就懒得弄了。

OpenAPI文档参考:http://notesandbox.youdao.com/open/apidoc.html

论坛里的相关帖子真是太少了,有关OpenAPI才11个主题,不得不吐槽一下~

下面贴代码吧,学Python的应该都看得懂滴~~

# -*- encoding: utf-8 -*-

"""
    Youdao Note OpenAPI
    ~~~~~~~~~~~~~~~~~~~

    Youdao Note OpenAPI
    see <http://notesandbox.youdao.com/open/apidoc.html> for more details.

    :copyright: (c) 2013 by digwtx <wtx358 …

Read More...

  • 26
  • 10月

The Pocoo Style Guide

[TOC]

The Pocoo style guide is the styleguide for all Pocoo Projects. In general, the Pocoo style guide closely follows PEP 8 with some small differences and extensions.

General Layout

Indentation:

4 real spaces. No tabs, no exceptions.

Maximum line length:

79 characters with a soft limit of 84 if …

Read More...

  • 24
  • 10月

Virtualenv入门实例教程

简介

VirtualEnv用于在一台机器上创建多个独立的[python]运行环境,VirtualEnvWrapper为前者提供了一些便利的命令行上的封装。

使用VirtualEnv的理由:

  • 隔离项目之间的第三方包依赖,如A项目依赖[flask] 0.7,B项目依赖flask 0.8
  • 为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻

安装

安装就不用说了吧,不会装的赶紧回炉吧!安装好后记得把路径加入PATH变量(我的PY是2.7的):

X:\Python27\Lib\site-packages

创建工作环境

初始化环境

运行命令:

virtualenv.py deps
cd deps
Scripts\activate.bat

命令效果如下图:

virtualenv初始化环境

安装需要的包

pip install flask==0.9

查看所有安装的包

pip freeze

导出所需的包 …

Read More...

  • 24
  • 10月

sendmail.py / msmtp.py

用Python编写的简单的邮件发送脚本,功能与mstmp等类似,可直接作为mutt的MTA。

目录:

[TOC]

增强版(支持TLS,SSL)

配置文件

存放位置:~/.msmtpyrc

# -*- coding: utf-8 -*-

MAIL_SERVER = ''
MAIL_PORT = 25
MAIL_USERNAME = ''
MAIL_PASSWORD = ''

TIMEOUT = 10.0

# gmail, hotmail的话下面这行注释去掉
#MAIL_USE_TLS = True

# qq企业邮箱的话下面这行注释去掉
#MAIL_USE_SSL = True

msmtp.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#功能与msmtp类似,可作为mutt的邮件发送代理

import os
import sys
import imp
import email
import smtplib


def _load_config …

Read More...

  • 24
  • 10月

mail.py 用python发送邮件

用法:

$ echo "hello" | ./mail.py -a 1.py -a 2.py -s "hello" xxx@yyy.com
$ cat filename | ./mail.py -a 1.py -a 2.py -s "hello" xxx@yyy.com
$ ./mail.py -a 1.py -a 2.py -s "hello" xxx@yyy.com
$ cat filename | ./mail.py -a 1 …

Read More...