python常用库使用笔记

1、threading.Event类的实例方法is_set = isSet,即为同一个函数,当该类的实例已经调用了set()方法时,该函数返回True,否则为False


2、threading.Event机制类似于一个线程向其它多个线程发号施令的模式,其它线程都会持有一个threading.Event的对象,这些线程都会等待这个事件的“发生”,如果此事件一直不发生,那么这些线程将会阻塞,直至事件的“发生”。

具体参考:Python中使用threading.Event协调线程的运行


3、创建线程实例时,使用setDaemon函数的原因:[Python]Threading.Thread之Daemon线程


4、str类实例的strip([chars])方法去除str中头尾的相应字符[chars],如果没有提供chars,则去掉头尾的空格键。


5、os.walk(dstDir)返回一个生成器,生成器每次返回的内容为:当前遍历的路径,[该路径下的所有目录], [该路径下的所有文件]


扫描二维码关注公众号,回复: 3273189 查看本文章

6、exec的使用:

对于同一段代码:

def myTest():
    a = False
    exec('a=True')
    print 'a=', a
    
if __name__ == '__main__':
    myTest()

Python 2.7中,exec是关键字,解释器在碰到它会把后面的语句在当前空间运行,因此上面代码运行结果为:a=True

Python 3.x中,exec是一个函数,此时exec('a=True')相当于一个内嵌函数,函数内部变量为局部变量,此时mytest中的a与exec语句中的a并不是同一个变量,

因此上面代码的运行结果为a=False

参考链接:What's the difference between eval, exec, and compile in Python?


7、itertools.groupby()把迭代器中相邻的重复元素挑出来放在一起,例程:

for key, group in itertools.groupby('AAABBBCCAAA'):
     print key, list(group)

运行结果:

A ['A', 'A', 'A']
B ['B', 'B', 'B']
C ['C', 'C']
A ['A', 'A', 'A']

8、eval函数可以把json字符串转化为字典对象,等价于json.loads(json.dumps({'name':''jyj', 'age':18})),例程:

import json

a = json.dumps({'name':'jyj', 'age':18})
b = {'info':a}
print eval(b['info'])['name']

运行结果:jyj


9、select模块的使用:Python socket.accept nonblocking?

使用select模块,实现非阻塞sock编程


猜你喜欢

转载自blog.csdn.net/scutjyj/article/details/78364450