我使用以下代码从字符串中删除重音。 输入(inp)是一个带有重音字符串的文件。 输出(outp)是一个文件。
代码如下:
49 def remove_unidecode(inp, outp):
50 ''' Remove accent and special characters
51 + lower case '''
52 print "# remove accents"
53 for line in inp:
54 uline = unicode(line, 'utf-8')
55 udline = unidecode(uline)
56 outp.write(udline.lower())
57 outp.close()
问题在于unidecode正在创建额外的\ n,即打印额外的换行符:
$ wc -l *
3619 inp.txt
3879 outp.txt
有谁知道为什么会这样?