Python:文件读写、序列化、反序列化和JSON

文件读写

①读文件:

f = open('/Users/michael/test.txt', 'r')#打开文件
f.read()								#读文件
f.close()								#关闭文件

②由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try ... finally来实现:

try:
    f = open('/path/to/file', 'r')
    print(f.read())
finally:
    if f:
        f.close()

简化:和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。

with open('/path/to/file', 'r') as f:
    print(f.read())	#注意缩进

③读取二进制文件(rb读取):

with open('E:/自主学习/python/test.bmp', 'rb') as f:
	print(f.read())

④写文件:
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符’w’或者’wb’表示写文本文件或写二进制文件:

with open('/Users/michael/test.txt', 'w') as f:		#文件会覆盖
	f.write('Hello, world!')
with open('E:/自主学习/python/test.txt', 'a') as f:	#追加填写
	f.write('\nHello, world!')

StringIO和BytesIO:在内存中读写str和bityes数据
操作文件和目录:在不同系统中操作文件和目录

序列化和反序列化

序列化:把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling。
反序列化:反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。
①序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

JSON

JSON:如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值