![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python 基础
zj19880814
这个作者很懒,什么都没留下…
展开
-
python 生成器 generator
生成器(generator)使用yield,可以让函数生成一个结果序列,而不仅仅是一个值例如:def countdown(n): print "counting down" while n>0: yield n #生成一个n值 n -=1>>> c = countdown(5)>>> c.next()co...原创 2013-10-11 22:40:25 · 69 阅读 · 0 评论 -
logging.conf 理解
#基本上格式可以这么看,先定义用到的logger,handler,formatter,然后下面再是具体的定义 [loggers] #logger对象的标志keys=root,error [handlers] #定义handlerskeys=consoleHandler,rotateFileHandler [formatters] #定义h...原创 2014-01-20 21:15:40 · 336 阅读 · 0 评论 -
[转】Python日志输出——logging模块
http://blog.csdn.net/chosen0ne/article/details/73193061. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方...原创 2014-01-20 20:07:57 · 96 阅读 · 0 评论 -
python时间和时间戳之间的转换
1)例如格式2012-07-31 00:01:18,根据该时间计算时间戳:将"2012-03-28 06:53:40"转化为时间戳s = time.mktime(time.strptime('2012-03-28 06:53:40', '%Y-%m-%d %H:%M:%S'))(2)根据时间戳得到如2012-07-31 00:01:18的时间格式,显示的时间形式可以根据format指定的...原创 2014-01-20 13:43:47 · 645 阅读 · 0 评论 -
centos下更新Python版本的步骤
安装完CentOS5.9(Final)后,执行#Python与#python -V,看到版本号是2.4.3,很老了,而且之前写的都是跑在python3.X上面的,3.X和2.X有很多不同,有兴趣的朋友可以参考下这篇文章 安装完CentOS5.9(Final)后,执行#Python与#python -V,看到版本号是2.4.3,很老了,而且之前写的都是跑在python3.X上面的,3.X和...原创 2014-01-18 19:00:09 · 110 阅读 · 0 评论 -
Installing mysql-python on Centos
yum install MySQL-python原创 2014-01-16 19:27:14 · 94 阅读 · 0 评论 -
pymongo 中文乱码问题
原文地址:http://windkeepblow.blog.163.com/blog/static/1914883312013988185783/ 如题,其实我的问题很简单,就是在写爬虫的时候拿到网页的信息包含类似“\u65b0\u6d6a\u5fae\u535a\u6ce8\u518c”的字符串,实际上这是unicode的中文编码,对应的中文为“新浪微博注册”。其实我就是想找一...原创 2014-01-08 20:32:16 · 980 阅读 · 0 评论 -
TypeError: cannot save object of type <type 'str'>
pymongo的save方法传入的值不是字典类型原创 2014-01-08 20:06:54 · 108 阅读 · 0 评论 -
setuptools使用
在安装了setuptools之后可以使用easy_install命令来安装其他的第三方包 例如: usr/local/python2.6/bin/easy_install greenlet安装模块easy_install package-name(比如 easy_install pylab)模块卸载easy_install -m packag...原创 2013-08-12 11:36:24 · 112 阅读 · 0 评论 -
setuptools安装
1. 下载地址: http://peak.telecommunity.com/dist/ez_setup.py 2. python ez_setup.py 3.输出(linux情况下,注意权限问题)Processing setuptools-0.6c11-py2.6.eggCopying setuptools-0.6c11-py2.6.egg to /usr/local/...原创 2013-08-12 11:21:27 · 138 阅读 · 0 评论 -
python 死锁
import threading ,time"""当两个或者更多的线程在等待资源的时候就会产生死锁,两个线程相互等待。在这里 thread1 等待thread2释放block , thread2等待thtead1释放ablock, 避免死锁的原则:1. 一定要以一个固定的顺序来取得锁,这个列子中,意味着首先要取得alock, 然后再去block2. 一定要按照与...原创 2013-08-05 11:58:44 · 99 阅读 · 0 评论 -
【转】Python线程指南
一篇写python线程很NB的博文,厉害http://www.cnblogs.com/huxi/archive/2010/06/26/1765808.html 1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同...原创 2013-08-05 10:58:48 · 99 阅读 · 0 评论 -
python 定时器(Timer)
# encoding: UTF-8import threading #Timer(定时器)是Thread的派生类,用于在指定时间后调用一个方法。def func(): print 'hello timer!' timer = threading.Timer(5, func)timer.start()...原创 2013-08-05 10:13:26 · 332 阅读 · 0 评论 -
VIM python 自动补全插件:pydiction
http://www.pythonclub.org/linux/vim/pydiction 这是一个相当不错的 Python 代码自动完成的脚本。可以实现下面python代码的自动补全:简单python关键词补全python 函数补全带括号python 模块补全python 模块内函数,变量补全from modul...原创 2014-01-03 23:02:45 · 127 阅读 · 0 评论 -
python 管道
#!coding=utf-8import multiprocessing def consumer(pipe): output_p , input_p = pipe input_p.close() #关闭管道的输入端 while True: try: item = output_p.recv() ...原创 2013-08-03 16:04:20 · 319 阅读 · 0 评论 -
python mulitprocessing 实例1
#!/usr/bin/env python#!coding=utf-8 import multiprocessing ,time def consumer(input_q): while True: item = input_q.get() #处理项目 print item #发出信号,通知任...原创 2013-08-03 15:16:34 · 166 阅读 · 0 评论 -
python 多进程创建 使用multiprocessing
import multiprocessingimport timedef clock(interval): while True: print ("the time is %s"% time.time()) time.sleep(interval)if __name__=="__main__": p = multiprocessing.Proces...原创 2013-08-03 11:23:46 · 76 阅读 · 0 评论 -
python GIL
GIL global interpreter lock 全局解释器锁定 在任意指定的时刻只允许单个python线程执行,无论系统上存在多少个的CPU核心。这限制了python程序只能在一个处理器上运行。 对于涉及大量CPU处理的应用程序而言,使用线程来细分工作没有任何的好处,反而还会降低程序的运行速度,因此用户需要使用子进程和消息传递。 ...原创 2013-08-03 11:12:24 · 82 阅读 · 0 评论 -
python 的日志logging模块学习
http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html原创 2014-01-21 10:34:38 · 70 阅读 · 0 评论 -
【转】[Python]MySQLdb for Python使用指南/Python的数据库操作
http://www.cnblogs.com/czh-liyu/archive/2008/04/13/1151758. 网站就是要和数据库进行交互,否则什么都不用做了...今天我们来看一个叫MySQLdb的库,这个用来和MySQL数据库进行交互.可以从这里获得这个库http://sourceforge.net/projects/mysql-python如果你不确定你的python环境里有...原创 2013-08-19 09:08:37 · 87 阅读 · 0 评论 -
【转】线程池的介绍及简单实现
http://www.ibm.com/developerworks/cn/java/l-threadPool/ 线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很...原创 2013-08-19 21:19:49 · 130 阅读 · 0 评论 -
【转】Pyscripter为什么总报错?UnicodeEncodeError: 'ascii' codec can't encode characters in
在你python的安装目录下的Lib目录,找到site.py,修改def setencoding()方法def setencoding(): ..... .... if 0: # Enable to support locale aware default string encodings.把那个if 0该位if 1试试。。 还有就是...原创 2013-10-11 22:07:33 · 129 阅读 · 0 评论 -
【转】python下划线变量的含义
http://blog.163.com/yang_jianli/blog/static/1619900062011627103516435/_xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名核心风格:避免用下划线作为变量名的开始。"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对...原创 2013-09-18 14:05:32 · 135 阅读 · 0 评论 -
nohup python xx.py & 无输出信息
python默认的print输出stdout是开启了buffered IO,所以print先输出到缓冲区,等执行完毕后才能一次性flush出去。解决方法有以下几种:1.使用-u参数,使得python不启用缓冲 ( 使用过,有效)nohup python -u test.py >out.log &2.在print之后加上sys.stdout.flush()3...原创 2014-03-04 23:23:53 · 910 阅读 · 0 评论 -
【转】 send,recv,sendto,recvfrom
http://blog.csdn.net/liangkaiyang/article/details/5931901 send函数int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服...原创 2013-09-14 11:46:24 · 75 阅读 · 0 评论 -
python recv, recvfrom ,
recv的recvfrom是可以替换使用的,recv()返回的是接收到的数据, recvfrom返回的是(数据,客户端地址),可以用来接收对端的地址信息,这个对于udp这种无连接的,可以很方便地进行回复。而换过来如果你在udp当中也使用recv,那么就不知道该回复给谁了,如果你不需要回复的话,也是可以使用的。另外就是对于tcp是已经知道对端的,就没必要每次接收还多收一个地址,没有意义,要取地址...原创 2013-09-14 11:40:53 · 7672 阅读 · 0 评论 -
【转】python enumerate函数用法
其他语言中,比如C#,我们通常遍历数组是的方法是:for (int i = 0; i < list.Length; i++){ //todo with list[i]}在Python中,我们习惯这样遍历:for item in sequence: process(item)这样遍历取不到item的序号i,所有就有了下面的遍历方法:for index...原创 2013-09-14 10:21:04 · 190 阅读 · 0 评论 -
python 获得一个月有多少天
在python的datetime模块中没有一个月有多少天的方法,但是可以使用calendar模块获得。如下代码:import calendarmonthRange = calendar.monthrange(2013,6)print monthRange输出:(5,30)输出的是一个元组,第一个元素是月份(0-11),第二个元素是这个月的天数。...原创 2014-02-25 18:54:45 · 1226 阅读 · 1 评论 -
【转】Python字符编码详解
UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显...原创 2013-09-06 12:30:55 · 112 阅读 · 0 评论 -
python 字符串前面r的作用
字符串前面加r,表示的意思是禁止字符串转义 >>> print "asfdas\n"asfdas>>> print "asfdas\\n"asfdas\n>>> print "asfdas\n"asfdas>>> print r"asfda原创 2013-09-06 10:47:07 · 171 阅读 · 0 评论 -
【转】深刻理解Python中的元类(metaclass)
译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有关,但仍然觉得不太明白,希望大家可以给出一些实际的例子和代码片段以帮助理解,以及在什么情况下需要进行元编程。于是e-satis同学给出了神一般的回复,该回复获得了985点的赞同点数,更有人评论说这段回复应...原创 2013-09-05 23:27:01 · 943 阅读 · 3 评论 -
python json 中文 乱码
ython的json.dumps方法默认会输出成这种格式"\u535a\u5ba2\u56ed",。要输出中文需要指定ensure_ascii参数为False,如下代码片段:json.dumps({'text':"中文"},ensure_ascii=False,indent=2)...原创 2014-02-21 14:31:08 · 199 阅读 · 0 评论 -
Python中threading模块的join函数
oin的作用是众所周知的,阻塞进程直到线程执行完毕。通用的做法是我们启动一批线程,最后join这些线程结束,例如: for i in range(10): t = ThreadTest(i) thread_arr.append(t) for i in range(10): thread_arr[i].start...原创 2014-06-27 13:39:47 · 160 阅读 · 0 评论 -
python中read() readline()以及readlines()用法
http://www.cnblogs.com/qi09/archive/2012/02/10/2344964.html 【转自:http://www.ibm.com/developerworks/cn/linux/sdk/python/python-5/index.html#N1004E】我们谈到“文本处理”时,我们通常是指处理的内容。Python 将文本文件的内容读入可以操作的字...原创 2014-06-23 15:47:59 · 176 阅读 · 0 评论 -
Python的垃圾回收机制
http://blog.csdn.net/carolzhang8406/article/details/6366043 先转一篇好文章:http://terrylee.me/blog/post/2010/09/26/garbage-collection-and-performance-part2.aspx 本文是关于垃圾回收讲座的第二篇,第一篇为《垃圾回收系列(1...原创 2014-06-20 17:01:23 · 116 阅读 · 0 评论 -
error: byte-compiling is disabled.
yum install gcc python-devel原创 2014-01-25 09:48:16 · 505 阅读 · 0 评论 -
【转】centos python pip安装
http://heipark.iteye.com/blog/1916758安装easy_installwget http://peak.telecommunity.com/dist/ez_setup.py python ez_setup.py 安装pipwget https://pypi.python.org/packages/source/p/pip/pip-1.4.ta...原创 2014-01-25 09:31:54 · 90 阅读 · 0 评论 -
mod_python
启动一个cgi脚本很慢,因为每一次的请求,服务器都要为它启动python解释器。 mod_python 实际上在apache web 服务器嵌入了一个完整的python解释器,cgi脚本只在服务器进程初始化的时候载入一次。数据库连接也可以在web服务器初始化的时候建立,并保持连接直到服务器关闭,每当要产生一个新的页面时,一个特殊的函数就会被调用,所有关于请求的数据被传入该函数。这个函数...原创 2013-08-19 21:20:53 · 322 阅读 · 0 评论 -
python 抽象基类
#!coding=utf-8#-------------------------------------------------------------------------------# Name: 抽象基类# Purpose:## Author: Mr Cheung## Created: 02/08/2013# Copyright: (c) Mr C...原创 2013-08-02 19:42:50 · 187 阅读 · 0 评论 -
python __call__ 内置函数的使用
对象通过提供__call__(slef, [,*args [,**kwargs]])方法可以模拟函数的行为,如果一个对象x提供了该方法,就可以像函数一样使用它,也就是说x(arg1, arg2...) 等同于调用x.__call__(self, arg1, arg2) 。 模拟函数的对象可以用于创建防函数(functor) 或代理(proxy) class Distanc...原创 2013-07-29 16:09:03 · 176 阅读 · 0 评论