擅长:python、mysql、java
<p>当你这么做的时候</p>
<pre><code>`words = line.split()`
</code></pre>
<p>您正在为变量<code>words</code>分配一个字符串列表-行中的非空白字符串。但在那之后你就再也不能用<code>words</code>做任何事了。相反,您需要:</p>
<pre><code>if line[1:] == 'the raven':
</code></pre>
<p>检查整行,减去第一个字符,是否就是“乌鸦”。你知道吗</p>
<p>(为处理unicode/字节而编辑):如果您想合计“the raven”在整个文件中出现的总次数,可以跳过<code>split</code>和<code>if</code>,直接从每一行获取出现次数。因为请求为您提供<code>bytes</code>对象(在Python3中)或<code>unicode</code>对象(在Python2中),所以您需要首先使用适当的编码对行进行解码:</p>
<pre><code>for line in r.iter_lines():
count += line.decode('utf-8').count('the raven')
</code></pre>
<p>如果要返回“the raven”出现的行总数,可以执行以下操作:</p>
<pre><code>for line in r.iter_lines():
if 'the raven' in line.decode('utf-8'):
count += 1
</code></pre>
<p>根据数据源的不同,您可能需要选择不同的编码。你知道吗</p>