您的位置:首页 > 编程语言 > Python开发

python学习笔记

2012-12-28 19:14 148 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: