1. Struct
Pack(fmt, v1, v2, …):将v的值按照fmt以string的形式返回;
Unpack(fmt, string):根据给定的format将string解包成一个元组(即使只有一个item返回。
2. pickle and cPickle
2.1 有三种协议控制数据流格式,默认为0; 确保在二进制模式下,协议要≥1
2.2 dump(obj,file[,protocol]):将pickled obj 写入到file;
load(file):从file中读取string,重构(reconstructing)并返回obj;
dumps(obj[,protocol]):取代dump的写入file,而是以string返回序列化的obj;
loads(string):从string中读取序列化的obj
***********************************************************
#!C:\Python27 python
# -*- coding: cp936 -*-
if __name__ == '__main__':
import cPickle
obj = 123, 'abcdef', ['ac', 123], {"key":"val", "key1":"val1"}
print obj
f = open("a.txt", 'w')
cPickle.dump(obj, f, protocol=1)
f.close()
f = open("a.txt")
print cPickle.load(f)
f.close()
obj1 = cPickle.dumps(obj) #string
print type(obj1)
print obj1 #python的专用存储格式
obj2 = cPickle.loads(obj1)
print type(obj2)
print obj2
***********************************************************
Setblocking(flag), flag=0为非阻塞, flag=1为阻塞mode;
Settimeout(flag), flag = float/None, settimeout(0.0)=setblocking(0), settimeout(None) = setblocking(1);
3. lambda
Lambda构造表达式,”:”之后只能是表达式,不能是print或if等语句。
fun = [lambda x:x**2, lambda y: y*2]
print fun[0](3), fun[1](3) # 9 6