擅长:python、mysql、java
<p>虽然<em>可以</em>使用<code>while</code>循环和对<code>readline</code>的显式调用来迭代文件的内容,但没有理由这样做。你知道吗</p>
<pre><code>def read_file(self, file):
for line in file:
line = line.strip()
course = tuple(line.split())
self._courses.append(course)
</code></pre>
<p>可以进一步浓缩:</p>
<pre><code>def read_file(self, file):
self._courses.extend(tuple(line.strip().split()) for line in file)
</code></pre>
<hr/>
<p>如果选择使用<code>while</code>循环,则负责在每次迭代中调用<code>readline</code>一次,以获取换行符,直到它返回空字符串为止。你知道吗</p>
<pre><code>def read_file(self, file):
line = file.readline().strip()
while line != "":
self._courses.append(tuple(line.split()))
line = file.readline().strip()
</code></pre>