繁体   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