日志配置:
import logging
fmt = "%(asctime)s [%(levelname)s] %(message)s"
logging.basicConfig(format=fmt, filename="xxx.log", level=logging.INFO)
日志器获取、使用:
LOG = logging.getLogger(CONF.LOG_NAME)
LOG.info("xxx" % (...) )
LOG.debug("x" % (...) )
201[......]
Category Archives: Python
BeautifulSoup中文乱码解决问题
import urllib2
from BeautifulSoup import BeautifulSoup
page = urllib2.urlopen('http://www.leeon.me');
soup = BeautifulSoup(page,fromEncoding="gb18030")
print soup.originalEncoding
print soup.prettify()
如果中文页面编码是gb2312,gb[......]
Python中的笛卡尔乘积(任意维度)
现在的需求是,有若干个List,假设2个:
[1, 3, 5]
[4, 6]
我们要输出(1, 4), (1, 6), (3, 4), (3, 6), (5, 4), (5, 6)
Python中直接提供了笛卡尔乘积,很给力:
a = [1, 3, 5]
b = [4, 6]
import itertools
for x in itertools.product(a, b):
print x
(1, 4)
(1, 6)
(3, 4)
(3, 6)
([......]
Python操作MySQL数据库
Python中居然没有内置操纵MySQL数据库的包。
Python中操作MySQL的第三方包很多,本文使用的是MySQL-python 1.2.3。
此接口是符合PEP 249的,即Python通用的数据库操作标准(类似JDBC)。
1、下载、安装
# Download
wget http://downloads.sourceforge.net/project/mysql-python/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz[......]
Python多进程并发(multiprocessing)
由于Python设计的限制(我说的是咱们常用的CPython)。最多只能用满1个CPU核心。
Python提供了非常好用的多进程包multiprocessing,你只需要定义一个函数,Python会替你完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。
1、新建单一进程
如果我们新建少量进程,可以如下:
import multiprocessing
import time
def func(msg):
for i in xrange(3):[......]