python_文件读写

读取文件

 

'''
文件读取和写入的过程
磁盘保存,或者网络传输 都是需要指定编码的字节串,比如utf-8 ,gbk,AscII  对应 使用encode 将字符串编码成二进制字节
程序运行读取的时候,需要按指定的编码解码成unicode 字符串的形式才能正常运行,对应decode 将二进制字节转换成我们常见的字符串形式
读取:utf-8=>unicode
写入:unicode=>utf-8
'''

# 按gbk的编码格读取文件
with open('gbk1.txt','r',encoding='gbk') as f1:
    print(f1.read())

#如果不指定编码格式,在windows中encoding 默认是 gbk,linux 和macos中 默认是utf-8
with open('gbk1.txt','r') as f2:
    print(f2.read())

# 按utf-8的编码格式读取,由于目标文本编码格式为gbk,故无法按utf-8的方式进行解码
# 报错UnicodeDecodeError 'utf-8'
# codec can't decode byte 0xd3 in position 2: invalid continuation byte
with open('gbk1.txt','r',encoding='utf-8') as f3: print(f3.read())

特别注意:

python默认的编码方式为utf-8,但是在不同系统平台的默认编码方式存在不同
在windows中encoding 默认是 gbk,linux 和macos中 默认是utf-8

注意读取文件时的编码方式,如果要跨平台运行,在读取的时候推荐设置上指定的编码方式

 

 

文件写入:

# 按gbk的编码格式写入到文件
with open('gbk.txt','w',encoding='gbk') as f:
    f.write('写入是gbk编码')
# 写入之后进行读取
with open('gbk.txt','r') as f:
    print(f.read())

 

posted @ 2022-01-02 23:13  昆虫白  阅读(71)  评论(0)    收藏  举报