我在使用 Python 脚本打开包含变音符号的文件时遇到问题。自然地,我认为我可以用 unicode utf8 修复来纠正这个问题,但不是这样......
我最终使用了mbcs (默认为 cp1252)
然后我写了这个我希望写得更干净的声明,
def len(fname):
i = -1
try:
with open(fname, encoding='mbcs') as f:
for i, l in enumerate(f):
pass
except UnicodeDecodeError:
try:
i = -1
with open(fname, encoding='utf8') as f:
for i, l in enumerate(f):
pass
except UnicodeDecodeError:
i = -1
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 2 # 2 because it starts at -1 not 0