飞机场场长

本博客主要摘录python相关的知识,欢迎参阅。

导航

2013年5月15日 #

python学习笔记——多线程同步问题

摘要: http://blog.sina.com.cn/s/blog_4b5039210100ewqm.html如果多个线程共同对某个数据修改,则可能出现不可预料的结果,为了保证数据的正确性,需要对多个线程进行同步。1 简单的线程同步。使用Thread对象的Lock和Rlock可以实现简单的线程同步,这两个对象都有acquire方法和release方法,对于那些需要每次只允许一个线程操作的数据,可以将其操作放到acquire和release方法之间。如下:import threadingimport timeclass mythread(threading.Thread):def __init__(s 阅读全文

posted @ 2013-05-15 18:45 飞机场场长 阅读(332) 评论(0) 推荐(0) 编辑

python学习笔记——Thread常用方法

摘要: http://blog.sina.com.cn/s/blog_4b5039210100ewie.htmlThread对象中的一些方法:以前说过多线程,用到threading模块中的Thread对象,其中的start和run方法比较熟悉了,start()是重载了Thread对象中的run方法,其实作用还是,当执行这个start方法的时候,将运行run方法。今天看看其他几个重要的方法:1 join方法,如果一个线程或者一个函数在执行过程中要调用另外一个线程,并且待到其完成以后才能接着执行,那么在调用这个线程时可以使用被调用线程的join方法。join([timeout])里面的参数时可选的,代表线 阅读全文

posted @ 2013-05-15 18:31 飞机场场长 阅读(399) 评论(0) 推荐(0) 编辑

python学习笔记——多线程编程

摘要: http://blog.sina.com.cn/s/blog_4b5039210100esc1.html基础不必多讲,还是直接进入python。Python代码代码的执行由python虚拟机(也叫解释器主循环)来控制。Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行,就像单CPU的系统中运行多个进程那样,内存中可以存放多个程序,但任意时候,只有一个程序在CPU中运行。同样,虽然python解释器可以“运行”多个线程,但在任意时刻,只有一个线程在解释器中运行。对python虚拟机的访问由全局解释器锁(GIL)来控制,这个GIL能保证同一时刻只有一个线程在运行。在多线程环境中,p 阅读全文

posted @ 2013-05-15 18:22 飞机场场长 阅读(258) 评论(0) 推荐(0) 编辑

Python代码分析工具之dis模块

摘要: http://hi.baidu.com/tinyweb/item/923d012e8146d00872863ec0代码分析不是一个新的话题,代码分析重要性的判断比较主观,不同的人有不同的认识。Python是用C来实现的,所以对于Python的性能或代码质量的评估可以通过dis模块获取到对应的字节码指令来进行评估。 Python代码是先被编译为Python字节码后,再由Python虚拟机来执行Python字节码(pyc文件主要就是用于存储字节码指令的)。一般来说一个Python语句会对应若干字节码指令,Python的字节码是一种类似汇编指令的中间语言,但是一个字节码指令并不是对应一个机器指令(二 阅读全文

posted @ 2013-05-15 16:30 飞机场场长 阅读(1878) 评论(0) 推荐(0) 编辑

python读取excel,使用了pywin32模块

摘要: http://hi.baidu.com/qjdsw/item/84ee94274023a00877272cc5http://blog.csdn.net/wjwbin1986/article/details/6159154python操作excel需要使用的win32com模块,可以从http://sourceforge.net/projects/pywin32/files/处下载。 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 import win32com.client 4 5 #---------------------... 阅读全文

posted @ 2013-05-15 15:56 飞机场场长 阅读(2658) 评论(0) 推荐(0) 编辑

python网络编程:一、前言及socket初探

摘要: http://www.cnblogs.com/nepaul/archive/2012/11/04/2753998.html在知乎上看到有人提问,Python 网络编程需要学习哪些网络相关的知识?,看了下,觉得还挺有道理。主要的观点如下:Python网络编程是一个很大的范畴,个人感觉需要掌握的点有:如何使用Python来创建socket, 如何将socket与指定的IP地址和端口进行绑定,使用socket来发送数据,接受数据,如何使用Python中处理线程,从而编写可以同时处理多个请求的web服务器如何使用Python来控制HTTP层的逻辑,包括如何创建http GET,POST,PUT,DEL 阅读全文

posted @ 2013-05-15 12:05 飞机场场长 阅读(295) 评论(0) 推荐(0) 编辑

说说Python程序的执行过程

摘要: http://www.cnblogs.com/kym/archive/2012/05/14/2498728.html1. Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊!为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清。2. 解释型语言和编译型语言计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个 阅读全文

posted @ 2013-05-15 12:01 飞机场场长 阅读(234) 评论(0) 推荐(0) 编辑

python程序打包成可执行程序

摘要: http://www.cnblogs.com/nepaul/archive/2012/07/25/2607581.html前言 python程序需要依赖本机安装的python库,若想在没有安装python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和py2exe。其中py2exe主要应用在windows下,而PyInstall则可应用windows、Linux以及Mac OS X上。参考文档详细的教程参见:官方文档中文的PyInstaller使用简介:点这里Linux下的简单的使用步骤:安装PyInstaller:从官网下载相应的源码包,解压缩转到Py... 阅读全文

posted @ 2013-05-15 12:00 飞机场场长 阅读(315) 评论(0) 推荐(0) 编辑

python中xrange和range的异同

摘要: http://ciniao.me/article.php?id=17range函数说明:range([start,]stop[,step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。range示例:>>>range(5)[0,1,2,3,4]>>>range(1,5)[1,2,3,4]>>>range(0,6,2)[0,2,4]xrange函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。xrange示例:>>>xrange(5)xrange(5)>&g 阅读全文

posted @ 2013-05-15 11:59 飞机场场长 阅读(205) 评论(0) 推荐(0) 编辑

python程序在函数内执行得更快

摘要: http://www.cnblogs.com/nepaul/archive/2012/07/15/2592179.html为什么Python程序在函数内执行得更快?(来源StackOverflow)考虑下面的代码,一个在函数体内,一个是全局的代码。函数内的代码执行效率为 1.8s1234defmain():fori inxrange(10**8):passmain()函数体外的代码执行效率为 4.5s12fori inxrange(10**8):pass不用太纠结时间,只是一个示例,我们可以看到效率查得很多。为什么会这样呢?我们使用dismodule反汇编函数体内的bytecode 代码,使用 阅读全文

posted @ 2013-05-15 11:55 飞机场场长 阅读(216) 评论(0) 推荐(0) 编辑