我的一个项目包括编写一个从文本文件中提取某些数据(数值)的程序,该程序必须通用化,以便在相同格式的不同文本文件中运行。在
文件是对一个分子的分析,要提取的数据是分子内每个原子的坐标,因此它必须以这样一种方式进行概括:它提取的数据与不同文件中原子的数量一样多。在
到目前为止,我得出的结论是:def Prog1():
f=open( "C:/dimer.out","r" )
m=open("C:/dimer1.out","w")
g=f.readlines()
for k in range(len(g)):
if "Standard" in g[k]:
c=k
for n in range(c+5, len(g)):
m.write(g[n])
if "------------" in g[n+1]:
break
这基本上是提取包含信息的行,并根据文件格式以通用的方式将它们写入新的文本文件中。(包含信息的行总是在包含“Standard”的行后5行开始,后面总是有很多“----”的行。
然后
^{pr2}$
这是为了提取这些行中的确切数据,并将它们放入各自的列表中。(数据之间有空格,要导出的数据是带有多个字符的数字。但是我在m=next(data)上得到了一个错误“Stopiteration”。错误是什么?或者我如何修改它来工作?在
提前感谢:)