擅长:python、mysql、java
<p>当您迭代一个file对象时,在完成迭代之后,光标将结束在文件的末尾。因此,尝试再次迭代它(在outer for循环的下一次迭代中)是行不通的。代码工作的最简单方法是在外部for循环的开始处查找文件的开头。示例-</p>
<pre><code>#!/usr/bin/python
words=open('q.txt','r');
twts=open('p.txt','r');
for wrd in words:
twts.seek(0)
for twt in twts:
if (wrd.strip() in twt):
print "Found at line" +iter
</code></pre>
<p>另外,根据问题,似乎您使用了错误的文件,<code>twts</code>应该是包含句子的文件,<code>words</code>应该是包含单词的文件。但是您已经打开了<code>p.txt</code>,为<code>words</code>打开了<code>q.txt</code>来显示``句子。如果是相反的,你应该从另一个方向打开文件。在</p>
<p>另外,建议不要使用<code>iter</code>作为变量名,因为这也是一个内置函数的名称,而您在-<code>for iter in twts</code>-shadows内建函数-<code>iter()</code>中定义它。在</p>