文件

  • UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 10: ordinal not in range(128)
    1. # 原写法
    2. with open(input_file,'r') as f:
    3. for line in f:
    4. # 解决方法 如果忽略一些错误记录无所谓,可以加上 errors="ignore"
    5. with open(input_file,'r', encoding="utf-8") as f:
    6. for line in f:

    \xe2\x80\x88

    split() 长度不一致

今天碰到一个问题,对一个字符串进行split(),然后再” “.join(),怎么都是29位,但是在split()后的长度却只有27位,找了很久这个错误。
后来发现是由于python版本问题,python2.x 在split()的时候,出现了很多\xe2\x80\x88这样的符号,导致长度为27,但是组合之后,又神奇的消失了。
解决办法就是统一都用python 3.x版本,就没问题了。这个故事告诉我们,两边实验的python大版本尽量一致。