python学习记录(第五天)
时间:2010-11-10 来源:simonchia
元组
>>> x=(40)
>>> x
40
>>> x=(40,)
>>> x
(40,)
以上的例子说明想要定义一个元组出来小括号不是主要因素,主要因素在于逗号上面。其实小括号只是为了阅读代码方便以及其他特殊情况
>>> x=40,
>>> x
(40,)
这样也是能定义一个元组的
元组也支持+和*
>>> s=(1,2)
>>> a=(3,4)
>>> a+s
(3, 4, 1, 2)
>>> s*3
(1, 2, 1, 2, 1, 2)
元组的转换以及不可变性
元组不提供字符串、列表和字典中的方法所以必须进行转换
>>> t=list(s)
>>> t
[1, 2]
>>> b=[3,4]
>>> tmp=tuple(b)
>>> tmp
(3, 4)
文件
实例一则
>>> myfile=open('myfile','w')
>>> myfile.write('hello world\n')
>>> myfile.close()
>>> myfile=open('myfile')
>>> myfile.readline()
'hello world\n'
>>> myfile.readline()
''
最后一行myfile.readline()显示的''代表已经到达文件底部。
>>> x,y,z=44,45,46
>>> s='spam'
>>> d={'a':1,'b':2}
>>> l=[1,2,3]
>>> f=open('datafile','w')
>>> f.write(s+'\n')
>>> f.write('%s,%s,%s\n' % (x,y,z))
>>> f.write(str(l)+'$'+str(d)+'\n')
>>> f.close()
>>> f=open('datafile').read()
>>> f
"spam\n44,45,46\n[1, 2, 3]${'a': 1, 'b': 2}\n"
>>> print f
spam
44,45,46
[1, 2, 3]${'a': 1, 'b': 2}
用pickle储存python的原生对象
pickle模块是能够让我们直接在文件中存储几乎任何python对象的高级工具
>>> a=[1,2,3]
>>> g=open('hello','w')
>>> g.write(str(a))
>>> g.close()
>>> g=open('hello')
>>> g.read()
>>> g.close()
>>> import pickle
>>> g=open('hello','w')
>>> pickle.dump(a,g)
>>> g.close()
>>> g=open('hello')
>>> g.read()
'(lp0\nI1\naI2\naI3\na.'
>>> g.close()
>>> g=open('hello')
>>> p=pickle.load(g)
>>> p
[1, 2, 3]
文件中打包二进制数据的存储与解析
>>> o=open('bin2','wb')
>>> import struct
>>> bytes=struct.pack('>i4sh',1,'spam',8)
>>> bytes
'\x00\x00\x00\x01spam\x00\x08'
>>> o.write(bytes)
>>> o.close()
>>> o=open('bin2','rb')
>>> data=o.read()
>>> data
'\x00\x00\x00\x01spam\x00\x08'
>>> values=struct.unpack('>i4sh',data)
>>> values
(1, 'spam', 8)
相关阅读 更多 +