我遇到了一个问题,即我在使用codecs.open(filename, encoding='utf8')
阅读时没有正确换行的歌曲播放列表。播放列表文件中的每两行包含第一行中的元数据,第二行中包含曲目文件名。
文件名是unicode,我遇到了一些由于标记错误或字符集不匹配而在名称中包含\ x85字符的曲目标题。因此会有一个像'Title title \x85 title - artist
这样的元数据行,并且在使用readline读取文件时会错误地换行。
答案 0 :(得分:0)
我解决了这个问题。我没有调用file.readline
,而是拥有一个包含readline的函数。最初我的角色逐字逐渐变慢,但后来我忘记了readline断裂,并且可以通过进一步调用将其构造成正确的行。
def getline(_file):
ln = ''
while True:
_ln = _file.readline()
ln += _ln
if not _ln:
break;
if _ln[-1] == '\n':
break
return ln