<p>好吧,我有个问题。我需要用大量的行来读取文件。在</p>
<p>当我找到结果时,我停止并退出循环,然后调用另一个函数。
我怎样才能保存我的“行号”,所以当我回来时,我只是从这一行继续读,而不再读上面所有的行。在</p>
<p>好吧,你说得对,我的问题不清楚。在</p>
<p>我有一个有两个循环的脚本。在</p>
<p>第一个循环逐行读取“file1”,如果找到我要查找的数字,那么我调用另一个包含第二个循环的函数。在</p>
<p>我正在读取两个文件:</p>
<pre><code>for line in open(file_name):
#do the stuff
</code></pre>
<p>我想知道“line”的值以及如何用line值恢复循环</p>
<p>文件非常大,超过50k行。在</p>
<p>文件1格式:</p>
^{pr2}$
<p>File2有他的格式:</p>
<p>名称间隔开始间隔结束</p>
<p>我的目标是读取第二个文件,并检查在第一个循环中找到的数字是否在任何间隔中。当我发现这是一个行动。在</p>
<p>两个文件的数字都是按新月顺序排列的。我在我的文件里找到了一个问题。我的意思是继续读我在file2中停止的地方,因为这个文件是新月形的,我已经读过的所有值都比我实际的键值小,所以我不需要再读它们了。在</p>
<pre><code>eg: my key numbers are 16000, 22000 and 25000
eg: of loop in file2
hello 15000 20000 #first stop, return a value
hello 20001 20050 #first resume
hello 20051 20200
hello 20201 23000 #second stop, return a value
hello 23001 24000 #resume loop (25000 won't be found i know but that's not the problem)
</code></pre>
<p>正如评论者所说,不清楚为什么要退出循环,但是请看一下<a href="http://docs.python.org/library/functions.html#enumerate" rel="nofollow">enumerate</a>内置的。例如:</p>
<pre><code>for line_num, line in enumerate(f.readlines()):
print line_num, line
</code></pre>