擅长:python、mysql、java
<p><code>readlines()</code>返回文件中的所有行。您想改用<code>readline()</code>。你知道吗</p>
<p>您似乎在迭代<code>source</code>,而不是<code>self.file</code>。从<code>meds()</code>方法返回时,也只在一行上循环。也可以直接在文件对象上循环。考虑到这一点,循环函数可以如下所示:</p>
<pre><code>for line in self.file:
data_split = i.strip().split(' ')
hour = data_split[0]
temp = data_split[1]
dose = data_split[2]
yield 'At {0}:00 - he had {1} temp, and took {2} mg of meds'.format(hour, temp, dose)
</code></pre>
<p>在调用<code>meds()</code>的代码中,可以使用以下命令:</p>
<pre><code>for med in a.meds():
print(med)
</code></pre>
<p>要进一步阅读,请参阅文档<a href="https://docs.python.org/3.6/tutorial/inputoutput.html#methods-of-file-objects" rel="nofollow noreferrer">here</a>。你知道吗</p>