python学习笔记

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

你可能感兴趣的:(struct,lambda,pickle,cPickle)