我正在尝试找出解析HTML文件的最佳方法,并确保我完全以utf-8格式处理。目前我有:
fileName = open(givenDir +"/"+ aFile, "r").encode('utf8')
soup = BeautifulSoup(fileName)
我继续前行。这些都是本地文件。但它说文件对象没有属性编码。如果我取出编码位,它一切正常,但是当我用下面的代码打印字母时:
for word, count in wordList:
wordFile.write("%s: %d\n" % (word.encode('utf8'), count))
出现一条消息“警告:root:某些字符无法解码,并被替换为REPLACEMENT CHARACTER”,这让我相信一开始没有真正编码的东西?
有人可以为我澄清这个吗?
答案 0 :(得分:0)
open()
返回一个文件对象。
如果您想获取文件内容,请使用file.read()
或file.readline()
或file.readlines()
这样就会产生你的代码:
fileName = open(givenDir +"/"+ aFile, "r").read().encode('utf8')
soup = BeautifulSoup(fileName)