做实验的时候,出现了莫名其妙的错误,打印出来一看,同样的字符,判断的却不想等,因为二者的编码不同,通过查资料,发现是bom编码的问题,即前面多了\xef\xbb\xbf
网上相关的方法很多,另存为无bom格式的,是最直接了当的方法
但是,我另存了之后,也还是出错,貌似没效果
于是,还是决定从代码中qu去除掉\xef\xbb\xbf
网上的方法很多,大多数是针对zhen整个文件的头部有\xef\xbb\xbf的解决
https://blog.csdn.net/qq_16583687/article/details/72638993
https://blog.csdn.net/founderznd/article/details/52197078
而我的问题是,文件有多行,某些行的头部有,某些行的头部没有
https://blog.csdn.net/wbiblem/article/details/73656413
https://blog.csdn.net/hongyu_zhou/article/details/80365815
可是,这两个方法,对我的问题还是不实用,自己借鉴了下进行了解决
f_posdict = open(pos_path, encoding='utf-8') posdict = f_posdict.read().split('\n') posdict = [x.encode('utf-8').decode("utf-8-sig") for x in posdict] # 逐句去除bom编码