擅长:python、mysql、java
<p>除了其他问题(见下文),您将<code>self.readfile</code>设置为字符串,而不是函数。您意外地调用了<em>而不是获取函数本身。你想要:</p>
<pre><code>self.readfile = self.openfile.read # < No parentheses at the end!
</code></pre>
<hr/>
<p>你还有很多其他的问题。例如,<code>read</code>方法的返回值是一个字符串,而不是映射或您期望的任何序列,因此<code>for k, v in self.readfile()</code>将无法工作。首先,您需要将字符串解析为字典或元组序列,或者您期望的任何内容,当然,这取决于您的需求和文件的内容。作为补充说明,如果您确实想要一个字典(比如,<code>mydict</code>),您应该首先取出循环,然后检查<code>mydict.get(self.username) == self.password</code>。在</p>
<p>你的循环行(你标记为错误的那一行)缩进得太少,尽管我怀疑这是一个复制/粘贴错误。在</p>