安装MySQL-python包遇到的问题

使用pip install MySQL-python的方式安装,遇到以下几个问题:

1.提示错误EnvironmentError: mysql_config not found

这是因为本机是Mac OSX系统,并且装的MySQL是MAMP集成环境中的,实际上mysql_config这个文件是存在的,但是默认包里面的路径有问题,可以重新装一个MySQL到系统默认位置,不过既然已经有了MySQL不想重复装。

继续阅读“安装MySQL-python包遇到的问题”

Python装饰器示例

在许多地方会发现这样的写法:

调用函数前加一个@是什么鬼,原来它是使用Python装饰器。根据网上的教程写一个简单的Python装饰器示例:

继续阅读“Python装饰器示例”

Python3单例模式示例

当我们理解了Python的__new__方法后,我们还可以利用它来做一些其他有趣的事情,比如实现设计模式中的单例模式(singleton) 。

因为类每一次实例化后产生的过程都是通过__new__来控制的,所以通过重载__new__方法,我们可以很简单的实现单例模式。

先看在python3中怎么实现单例模式:

继续阅读“Python3单例模式示例”

Python3处理json的函数

在python3中import json模块,然后使用dir(json)可以看到json模块提供的函数,下面选几个常用的json处理函数看看用法:

继续阅读“Python3处理json的函数”

Python3异常处理和异常类型

Python的异常处理

如下是使用Python的xlrd模块打款excel文件,这个操作可能会出现异常,使用try捕捉异常,进行处理,防止程序的中断运行,并且记录异常信息到日志。

继续阅读“Python3异常处理和异常类型”

Python中for循环的else

Python中循环语句for或者while后else表示循环条件不成立的时候执行,如:

继续阅读“Python中for循环的else”

Python根据ObjectId下载GridFS文档

使用MongoDB的GridFS存取文件,如何用Python根据ObjectId来下载指定的文档呢?这里需要用到bson.objectid模块中的方法来生成MongoDB的ObjectId.

查询语句:

这里ObjectId需要引入bson.objectid才能使用。

继续阅读“Python根据ObjectId下载GridFS文档”