#
# 解决方案 字符串的语义发生了变化:
# py2 py3
# str -> bytes
# unicode -> str
# py2.x 写入文件前对unicode编,读入文件后对二进制字符串解码
# py3.x open函数指定‘t’的文本模式,encoding指定变编码格式
# python3中的读写
def main():
s=u'您好'
print(s.encode('utf8'))
print(s.encode('gbk'))
print(s.encode('utf8').decode('utf8'))
print(s.encode('gbk').decode('gbk'))
pass
# python2中的读写
def main2():
f=open('py.txt','w')
s=u'您好'
f.write(s.encode('gbk'))
f.close()
f=open('py.txt','r')
t=f.read()
print(t)
print(t.decode('gbk'))
f.close()
pass
# py3读取文本读写
def main3():
# t就是文本模式
f=open('py.txt','wt',encoding='utf8')
s='您好,我爱编程'
f.write(s)
f.close()
f=open('py.txt','rt',encoding='utf8')
t=f.read()
print(t)
f.close()
pass
main3()
python2 和python3中分别如何读取文本
最新推荐文章于 2025-04-23 11:03:48 发布