0

我有一个结构如下的文件:

Title = "test.txt"  
variables = x,y,z  
zone height=100m  
x1, y1, z1  
...   
xn, yn, zn  
zone height=020m  
x1, y1, z1  
...  
xn, yn, zn  

并且需要将其拆分为以 zone height=xxx 行开头的多个文件。这些输出文件的名称应该是 outfile_xxx.txt,其中 xxx 是高度值。

并不总是只有高度可以运行,因此它需要能够根据数量编写任意数量的输出文件

我一直在尝试以下方法,现在它几乎按计划工作。我宁愿不为标题编写占位符文件,但想不出跳过标题行的最简单方法

inp=open(inputfilename)
out=open('zplane_placeholder_for_header.dat','w')

for line in inp:
      if line.startswith("zone"):
        height=line[8:11]
        out.close()
        out=open('zplane'+str(height)+'.dat','w')
      else:
        out.write(line)
out.close()
4

1 回答 1

0

我已经设法通过以下方式让这个为我工作。

with open (inputfilename) as f:
    next(f)
    next(f)
    for line in f:
      if line.startswith("zone"):
        height=line[8:11]
        next(f)
        out=open('zplane'+str(height)+'.dat','w')
      else:
        out.write(line)
out.close()
于 2013-11-05T15:36:59.890 回答