关于打开文件的方法有一些不明白
举两个例子:之前打开文件就需要encoding =utf-8
f = open(file_name,encoding = 'utf-8') 比如这样
但是有的就会报错
f1 = open(file_name1,'r',encoding = 'utf=8') #'utf-8' codec can't decode byte 0xb4 in position 0: invalid start byte
正确的应该是:f1 = open(file_name1,'r')
甚么时候需要写encoding = utf-8 什么时候不能写 有点搞晕了??{:10_243:} 本帖最后由 Twilight6 于 2020-11-26 19:51 编辑
需要看你 txt 文本编码是什么,open 就设置 encoding 参数是什么编码
编码一致才能正常的解析汉字等字符,否则会导致字节长度不同而无法解码报错
你打开 txt 时候选择另存为,弹出的对话框可以选择保存的编码格式
如果是 ANSI 那么 open 里面可以不用加 encoding = 'GBK' ,因为 open 默认就是 gbk 打开
而选择 utf-8 那么参数就需要加上 encoding = 'utf-8' 大小写都可以
Twilight6 发表于 2020-11-26 19:50
需要看你 txt 文本编码是什么,open 就设置 encoding 参数是什么编码
编码一致才能正常的解析汉字等 ...
请问怎么看文本编码?? 奔跑的赵云 发表于 2020-11-26 19:52
请问怎么看文本编码??
打开文本时候点击另存为时候就可看到编码格式
windows有的文本编辑器会自带显示,如notepad++:
python可以使用chardet模块检测:import chardet
with open('test.txt', 'rb') as f:
cd = chardet.detect(f.read())['encoding']
with open('test.txt', 'r', encoding=cd) as f:
print(f.read())
页:
[1]