这是我的python代码的一部分
f = textParse(open('email/spam/%d.txt', encoding="UTF-8" % i))
wordList = f.read()
docList.append(wordList)
fullText.extend(wordList)
classList.append(1)
当我运行它时,它有这个错误,"在字符串格式化过程中并非所有参数都转换",互联网上有人说 解释 % 前后的参数数量不对应,我不明白如何解决这个错误。
您有一个要插入字符串的变量i
,但您将其放在错误的位置。
调用open('email/spam/%d.txt', encoding="UTF-8" % i)
给open
两个参数,一个是位置的,一个是按关键字的:
第一个参数:'email/spam/%d.txt'
第二个参数:encoding="UTF-8" % i
encoding
关键字获取值 "UTF-8" % i
。这是无稽之谈,因为i
不属于那里,这就是抱怨的来源:%
格式没有修饰符,只有一个值,这是一个值太多了。
你想要的是这两个参数来open
:
第一个参数:'email/spam/%d.txt' % i
第二个参数:encoding="UTF-8"
把它放在一起,你有
open('email/spam/%d.txt' % i, encoding="UTF-8")