我应该如何消除此错误"not all arguments converted during string formatting"



这是我的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")

相关内容

最新更新