擅长:python、mysql、java
<p>似乎您<code>keywordFile</code>是一个file对象,由于file对象是迭代器(一次性iterable),所以在循环第一行之后,您将使用第一行。在</p>
<pre><code>for line in keywordFile:
^
</code></pre>
<p>然后使用<code>readline</code>来读取下一行,这是额外的,所以为了解决这个问题,您需要删除这个部分。在</p>
<p>另外,作为一种更具python风格的方法,您可以使用列表理解来创建单词列表,方法是使用逗号。如果要创建一个列表,列出可以使用嵌套循环的所有单词:</p>
^{pr2}$
<p>但是如果你想把每一行的单词放在一个单独的列表中,你只需要使用一个循环:</p>
<pre><code>with open ('filename') as keywordFile :
words = [line.split(',') for line in keywordFile]
</code></pre>
<p>或者,更好的选择是使用<code>csv</code>模块以单独的形式打开文件文字。你无法将分隔符参数传递给<code>csv.reader</code>函数:</p>
<pre><code>import csv
with open('file_name') as f:
words=csv.reader(f,delimiter=',')
</code></pre>
<p>这里的<code>words</code>是一个来自分离词元组的迭代器。如果你想连接它们,你可以使用<a href="https://docs.python.org/3/library/itertools.html#itertools.chain" rel="nofollow">^{<cd6>}</a>函数。在</p>