<p>因为你需要<code>Basket1</code>来打印,所以你的<code>start_line</code>必须是<code>Basket1</code>,而在第一行之后,你需要<code>Pens I have</code>我把它用作“中间行”</p>
<pre><code>import sys
import re
start_line = "Basket1"
mid_line = "Pens I have"
end_line = "End here"
print_lines = False
start_index = None
start_data = None
temp = None
with open('temp1' , 'r') as f:
for index, line in enumerate(f):
line = line.strip()
# Search for start_line, and store it's index and value
if (re.search(start_line, line)):
start_data = line
start_index = index
# If you find "Pens I have", and it's under start_line then store start_line
if (re.search(mid_line, line)):
if start_index + 1 == index:
temp = open("temp2", 'a')
sys.stdout = temp
print start_data
print_lines = True
if print_lines:
temp = open("temp2", 'a')
sys.stdout = temp
print line
if (re.search(end_line, line)):
print_lines = False
if temp and hasattr(temp, 'read'):
temp.close()
sys.stdout = sys.__stdout__
</code></pre>