【发布时间】:2014-12-09 17:36:08
【问题描述】:
我有以下程序逐字读取文件并将该单词再次写入另一个文件,但没有第一个文件中的非 ascii 字符。
import unicodedata
import codecs
infile = codecs.open('d.txt','r',encoding='utf-8',errors='ignore')
outfile = codecs.open('d_parsed.txt','w',encoding='utf-8',errors='ignore')
for line in infile.readlines():
for word in line.split():
outfile.write(word+" ")
outfile.write("\n")
infile.close()
outfile.close()
我面临的唯一问题是,使用此代码它不会将新行打印到第二个文件 (d_parsed)。有什么线索吗??
【问题讨论】:
-
有什么问题。效果很好。
-
它不像 outfile.write("\n") 那样换行
-
如果您在 Windows 上并且您用于查看文件的文本编辑器无法将
\n识别为一行,则每行末尾可能没有\n-分隔符。 -
附带说明:此代码不会删除非 ASCII 字符 - 它会删除无法使用
UTF-8编码解码的字符。
标签: python encoding character-encoding utf