4.1【文件IO操作】读取文本文件

Python2.x与Python3.x中的文件读写与编码差异
文章讲述了在Python2.x和Python3.x中处理字符串和文件的不同方式。在Python2.x中,需要对Unicode编码后再写入文件,读取时解码。而在Python3.x中,open函数使用t文本模式并指定编码。通过示例展示了编码解码过程以及文件操作的差异。
python2.x和python3.x中分别读取文件
字符串的语义变化:
Python2:str				unicode
Python3:bytes			str

Python2.x:写入文件前对unicode编码,读入文件后对二进制字符串解码
Python3.x:open函数指定‘t’的文本模式,encoding指定编码格式

# 2
s = u'你好'
s.encode('utf-8') # 6个字节
s.encode('gbk') # 4个字节
s.encode('utf-8').decode('utf-8') # 编解码一致

# 2
open('py2.txt','w')
s  = u'你好'
f.write(s.encode('gbk'))
f.close()
f = open('py2.txt','r')
t = f.read()
pirnt t.decode('gbk') # 你好

# 3
b'efjwejlwkekj'
'你好'
open('py3.txt','wt',encoding='utf-8')
f.write('你好')
f.close()
f.open('py3.txt','rt',encoding='utf-8')
s = f.read()
print s



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值