简体   繁体   中英

How to write several previous lines from a current line in a file using python

How do I grab/write several previous lines from a current line in a file? For example in the text below: ...

Line 0: DATE
Line 1:
Line 2:
Line 3:    
Line 4:    
Line 5:
Line 6:  Phase=WATER
Line 7:
Line 8:
Line 9:
Line 10:
Line 11:

...

I am currently using the script below to write out lines of interest and previous line, but would like to extend this to grab/write the 5 lines above "Phase=":

...

prevline=""
for line in infile:
    if 'DATE' in line:
        macfile.write(line)
    elif 'Line7' in line:
        macfile.write(prevline)
        macfile.write(line)
        macfile.write("}""\n")
    elif 'Line10' in line:
        macfile.write(prevline)
        macfile.write(line)
        macfile.write("}""\n")
    prevline=line

...

A faster way do this is:

lines = infile.read()

macfile.write(lines.split("Phase=WATER")[0])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM