簡體   English   中英

如何使用python從文件中的當前行寫入前幾行

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

如何從文件中的當前行抓取/寫入前幾行? 例如在下面的文本中:...

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:

...

我目前正在使用下面的腳本寫出感興趣的行和上一行,但想擴展它以抓取/寫入“Phase =”上方的 5 行:

...

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

...

更快的方法是:

lines = infile.read()

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM