用python读取一个txt,冒号分割的,到一个字典里面
但是无法
del dir['姓名']
错误说keyerror,没有’姓名’这个键。这就很难受啊,半天没想出什么原因。最后试着
print (dir.keys())
才发现在python中第一个开始的不是叫’姓名’,而是叫’\ufeff姓名’,有一个\ufeff的开头,但是打印出来却看不见
恍然大悟
del dir['\ufeff姓名']
就完美的删除了。但是为什么呢?原来是编码问题,可以在读取文件时改一下编码,把 UTF-8 编码 改成 UTF-8-sig就行了
with open('list.txt', 'r', encoding = 'utf-8') as dict_file: #打开文件
改为
with open('list.txt', 'r', encoding = 'utf-8-sig') as dict_file: #打开文件
这两个编码有什么区别我也不知道~这些问题真是太复杂了