随笔分类 -  python

摘要:欲先了解生成器,必先了解迭代器。迭代器参考:Python函数式编程指南(三):迭代器http://www.cnblogs.com/huxi/archive/2011/07/01/2095931.htmlPython函数式编程指南(四):生成器http://www.cnblogs.com/huxi/archive/2011/07/14/2106863.html作者的《Python函数式编程指南:目录和参考》系列文章写的很好,推荐阅读:http://www.cnblogs.com/huxi/archive/2011/07/15/2107536.html以下大部分整理摘自:《Python 基础教程》 阅读全文
posted @ 2012-12-03 17:10 congbo 阅读(936) 评论(0) 推荐(0)
摘要:摘自 《Python 基础教程》 9.5.2 静态方法和类成员方法 p149在讨论实现属性的旧方法前,先让我们绕道而行,看看另一对实现方法和新式属性的实现方法类似的特征。静态方法和类成员方法分别在创建时被装入Staticmethod类型和Classmethod类型的对象中。静态方法的定义没有self参数,且能够被类本身直接调用。类方法在定义时需要名为cls的类似于self的参数,类成员方法可以直接在类的具体对象中调用。但cls参数是自动被绑定到类的。请看下面例子:__metaclass__ = typeclass MyClass: def smeth(): print(... 阅读全文
posted @ 2012-11-29 16:57 congbo 阅读(632) 评论(0) 推荐(0)
摘要:且看如下例子:def f(a=[]): a.append(0) return aprint dir(f)for i in range(3): print f() print f.__defaults__结果:['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__',  阅读全文
posted @ 2012-11-29 13:31 congbo 阅读(2467) 评论(0) 推荐(0)
摘要:摘自:探索 Python,第 1 - 3 部分: 探索 Python 类型的层次结构http://www.ibm.com/developerworks/cn/opensource/os-python1/http://www.ibm.com/developerworks/cn/opensource/os-python2/http://www.ibm.com/developerworks/cn/opensource/os-python3/Python 类型层次结构 从其他语言过渡到 Python 编程语言时需要学习的最重要的课程之一是,Python 中的每样东西都是对象。这一点可能并没有什么特别. 阅读全文
posted @ 2012-11-20 16:41 congbo 阅读(571) 评论(0) 推荐(0)
摘要:且看如下例子:>>> l = [1, 2, 3]>>> ll = l>>> ll.remove(1)>>> l[2, 3]>>> >>> l = [1, 2, 3]>>> ll = l[:]>>> ll.remove(1)>>> l[1, 2, 3]>>> 是不是有点大吃一惊,跟c 语言怎么不一样呢?!>>>a = [1]>>>b = a >>>b[0] = 2& 阅读全文
posted @ 2012-11-20 16:38 congbo 阅读(4563) 评论(0) 推荐(1)
摘要:使用示例:➜ ~ shancun 天亮说晚安1: post shancun successfully.2: post shancun successfully.3: post shancun successfully.4: post shancun successfully.Has become lucky star!➜ ~ ps:闪存若包含空格,加双引号。查看闪存:源代码如下:linux / python 2.7 / 2012:11:15 03:44 update为求简单,出错即退出。玩具程序,娱乐即可。 1 #!/usr/bin/env python 2 #encoding=ut... 阅读全文
posted @ 2012-11-15 03:54 congbo 阅读(3338) 评论(7) 推荐(6)
摘要:事情是这样的:我喜欢把博客的副标题当作 qq 的个人签名那样用,没事把心情发到副标题上。并且可以查看以前发表的心情。但是网页操作需要设置好些步,太麻烦。先是打算把心情同步发到某篇随笔的评论上(cnblog 的日记不支持评论),然后发现自己的评论会把最新评论给刷了。随后发现 cnblog 的闪存,同步到这上面不错,http://home.cnblogs.com/ing/,还能即时收到网友的评论。使用示例:➜ ~ cnblog "超级塞亚人 孙悟空"login cnblog successfully.update subtitle successfully.post shanc 阅读全文
posted @ 2012-11-12 15:11 congbo 阅读(2113) 评论(3) 推荐(1)
摘要:有时碰到一个单词,顺手用命令行查询下比较方便,另外比较喜欢有道翻译中有道单词本的复习计划,加入单词本后可以在手机上看。使用示例:➜ ~ yd kisskiss [kis]vt.吻;(风等)轻拂vi.接吻;(风等)轻触n.吻;轻拂more: http://dict.youdao.com/search?keyfrom=webwordbook&q=kiss➜ ~ ➜ ~ yd 无奈 无奈 [wú nài]1. however2. cannothelpbutmore: http://dict.youdao.com/search?keyfrom=webwordbook& 阅读全文
posted @ 2012-11-05 11:52 congbo 阅读(3644) 评论(6) 推荐(2)
摘要:安装所需的库sudo apt-get install libpng12-devsudo apt-get install libjpeg62-devsudo apt-get install libtiff4-devsudo apt-get install gccsudo apt-get install g++sudo apt-get install automakepytesser 调用了 tesseract,因此需要安装 tesseract,安装 tesseract 需要安装leptonica,否则编译tesseract 的时候出现 "configure: error: lepton 阅读全文
posted @ 2012-10-31 00:38 congbo 阅读(4088) 评论(0) 推荐(0)
摘要:作用:报告状态、错误和信息消息。logging模块定义了一个标准API,用来报告应用和库的错误及状态信息。由一个标准库模块提供日志API的主要好处在于:所有Python模块都可以参与日志记录,所有一个应用的日志还可以包含来自第三方模块的消息。一、示例把INFO等级以上日志输出到控制台, DEBUG等级以上日志写入日志文件。示例:#encoding:utf-8import logging# 创建一个loggerlogger = logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)# 创建一个handler,用于写入 阅读全文
posted @ 2012-08-31 14:03 congbo 阅读(886) 评论(0) 推荐(0)
摘要:IOError: [Errno 32] Broken pipeException in thread Thread-1:Traceback (most recent call last):File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_innerself.run()File "/home/mii/dianshang_test/dianshang_new_test/dianshang_current.py", line 77, in runself.c.crawl_step_ 阅读全文
posted @ 2012-08-28 10:04 congbo 阅读(3449) 评论(0) 推荐(0)
摘要:python 数据库连接池可以使用DBUtils模块。示例程序:#!/usr/bin/env python# encoding:utf8import sysreload(sys)sys.setdefaultencoding("utf-8")import timeimport MySQLdbfrom DBUtils.PooledDB import PooledDBimport lsconstSLEEP_FOR_NEXT_TRY = 3class DBTools: def __init__(self, host, user, passwd, db): self.host = h 阅读全文
posted @ 2012-08-28 09:38 congbo 阅读(2263) 评论(0) 推荐(0)
摘要:错误一:File "/usr/lib/pymodules/python2.6/MySQLdb/__init__.py", line 81, in Connectreturn Connection(*args, **kwargs)File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 170, in __init__super(Connection, self).__init__(*args, **kwargs2)_mysql_exceptions.OperationalError: 阅读全文
posted @ 2012-08-27 14:24 congbo 阅读(6144) 评论(0) 推荐(0)
摘要:示例1:import multiprocessingdef run(msg): print '%s, it works!' % msgdef start_process(): print 'Starting',multiprocessing.current_process().nameif __name__=='__main__': pool = multiprocessing.Pool(processes=2, initializer=start_process,) pool.apply_async(run('congbo')) 阅读全文
posted @ 2012-08-24 13:39 congbo 阅读(9285) 评论(5) 推荐(0)
摘要:作用:建立在thread模块之上,可以更容易地管理多个执行线程。通过使用线程,程序可以在同一个进程空间并发地运行多个操作。threading模块建立在thread的底层特性基础上,可以更容易地完成线程处理。1、调用函数要使用Thread,最简单的方法就是用一个目标函数实例化一个Thread对象,并调用start()让它开始工作。 1 import threading 2 3 def worker(num): 4 print 'worker' 5 return 6 7 threads = [] 8 for i in range(5): 9 t = threading.... 阅读全文
posted @ 2012-08-23 16:43 congbo 阅读(4511) 评论(0) 推荐(0)
摘要:作用:提供一个API来管理进程。multiprocessing模块包含一个API,它基于threading API可以在多个进程间划分工作。有些情况下,multiprocessing可以作为临时替换,取代threading来利用多个CPU内核,避免Python全局解释锁带来的计算瓶颈。类似python threading 两种创建方式,python multiprocess 也有两种创建方式:1、调用函数要创建第二个进程,最简单的方法就是用一个目标函数实例化一个Process对象,并调用start()让它开始工作。 1 import multiprocessing 2 3 def work.. 阅读全文
posted @ 2012-08-23 16:17 congbo 阅读(1591) 评论(0) 推荐(0)
摘要:python自2.6开始提供了多进程模块multiprocessing,进程池使用multiprocessing.pool,pool的构造如下:multiprocessing.Pool([processes[, initializer[, initargs[, maxtasksperchild]]]])processes表示pool中进程的数目,默认地为当前CPU的核数。initializer表示新进程的初始化函数。initargs表示新进程的初始化函数的参数。maxtasksperchild表示每个进程执行task的最大数目(该参数解释见python 进程池1 - Pool使用简介)。Poo 阅读全文
posted @ 2012-08-23 15:31 congbo 阅读(16159) 评论(0) 推荐(0)
摘要:有些情况下,所要完成的工作可以分解并独立地分布到多个工作进程,对于这种简单的情况,可以用Pool类来管理固定数目的工作进程。作业的返回值会收集并作为一个列表返回。(以下程序cpu数量为2,相关函数解释见python 进程池2 - Pool相关函数)。 1 import multiprocessing 2 3 def do_calculation(data): 4 return data*2 5 def start_process(): 6 print 'Starting',multiprocessing.current_process().name 7 8 if __nam.. 阅读全文
posted @ 2012-08-23 15:28 congbo 阅读(37362) 评论(0) 推荐(0)
摘要:相关代码如下:queue = multiprocessing.Queue()db = HandleSQL(conf_db, data_db, queue)错误信息如下:Exception in thread Thread-1:Traceback (most recent call last): File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner self.run() File "/usr/lib/python2.6/threading.py", line 484, 阅读全文
posted @ 2012-08-22 13:58 congbo 阅读(8363) 评论(0) 推荐(0)
摘要:相关代码:1 pool = multiprocessing.Pool(processes=pool_size, initializer=start_process)2 3 #process_cralwer = pool.apply_async(dianshang_current.main, args=(max_threads_num, db, i))4 5 process_cralwer = pool.apply_async(dianshang_current.main, args=(max_threads_num, db, seeds))max_threads_num为进程中的线程个数,db 阅读全文
posted @ 2012-08-22 11:35 congbo 阅读(5089) 评论(0) 推荐(0)