python 写文件 编码_Python文件读写注意编码

文件的读写操作

1.python3中的默认的编码解码方式为utf-8

windows默认使用的编码方式为gbk

当读取一个windows文件(gbk),可以指定读取时使用的编码encoding=('gbk')或者不需要指定

with open('a.txt','r','encoding=(gbk)') as f:这样就能读取出a.txt文件的字符串数据

当python写入文件时,默认使用的utf-8编码,在win上打开会乱码,因为win默认编码是gbk

2.wb w r rb a(追加写)

with open('a.txt','w') as f:

f.write(xx)

当使用w写入时,实际上把内容先进行了编码.在wb写入

with open('a.txt','wb') as f:

f.write(xx.encode())

因此在写入二进制时,使用wb,若是使用w 会对内容进行编码,二进制无法编码,所以error

# 注:以下写法会报错,\U在python字符串中有特殊含义,在读取字符串时会报错

# 解决方法是对\转义 C:\\U...

with open('C:\User\xxx\a.txt','r') as f:

pass

# # TODO 打开一个文件 open函数的默认参数encoding=None

# 以utf-8编码打开读取一个文件

# with open('a.txt','r',encoding='utf-8') as f:

# print(f.read())

# # 以gbk编码读取文件

# with open('a.txt','r'

你可能感兴趣的:(python,写文件,编码)