如果在使用open函数的时候遇到了以下报错:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x86 in position 17: invalid start byte
虽然报错信息看起来是编解码方面的问题,但实际上这并不绝对。这很有可能时打开的对象中包含了预期之外的文件,比如.swp这种隐藏文件,我班咱们的代码本体引起编译码问题,但是这种隐藏的替换文件就很有可能引发这个问题。也就是指:
for file in files:
这当中包含了范围内包含隐藏文件的所有文件。这其实听起来完全是常识,也不是什么复杂的问题,但是结合“误导性的”报错信息,可能会给debug带来很大的麻烦。
这时候关闭vim中打开的文件,通过la命令找到并rm删除这些隐藏文件就很可能可以解决这些问题。