擅长:python、mysql、java
<p>你差不多拿到了,但是你的返回语句不在正确的范围内:</p>
<pre><code>def SeeIfExactRangeIsFound():
with open(logfile) as input_data:
mylist = []
for line in input_data:
if BeginSearchDVar in line: # Or whatever test is needed
print line.strip()
mylist.append((line.strip()))
break
for line in input_data: # This keeps reading the file
if line.strip() == EndinSearchD:
break
print line
mylist.append((line))
return mylist
</code></pre>
<p>作为奖励,您可以轻松地将其转换为生成器:</p>
<pre><code>def SeeIfExactRangeIsFound():
with open(logfile) as input_data:
for line in input_data:
if BeginSearchDVar in line: # Or whatever test is needed
yield line.strip()
for line in input_data: # This keeps reading the file
if line.strip() == EndinSearchD:
break
yield line
</code></pre>
<p>像这样消费:</p>
<pre><code>results = [x for x in def SeeIfExactRangeIsFound()]
</code></pre>