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
4.1【文件IO操作】读取文本文件
Python2.x与Python3.x中的文件读写与编码差异
最新推荐文章于 2025-12-13 11:28:09 发布
文章讲述了在Python2.x和Python3.x中处理字符串和文件的不同方式。在Python2.x中,需要对Unicode编码后再写入文件,读取时解码。而在Python3.x中,open函数使用t文本模式并指定编码。通过示例展示了编码解码过程以及文件操作的差异。
1298

被折叠的 条评论
为什么被折叠?



