我有一个文本文件,其中包含以下格式的几行:
ELEMENT= 1 PLY= 1
-----------------------
Code 1425
GP= 1 4.324E-03 -1.350E-03 -2.974E-03 3.084E-04 0.000E+00 0.000E+00
GP= 2 1.435E-03 -3.529E-04 -1.082E-03 1.183E-04 0.000E+00 0.000E+00
GP= 3 7.742E-03 -3.542E-03 -4.200E-03 4.714E-04 0.000E+00 0.000E+00
GP= 4 4.842E-03 -2.378E-03 -2.463E-03 3.040E-04 0.000E+00 0.000E+00
单词后面的数字ELEMENT
从 1 到 60。我的第一个目标是阅读这个文本文件并停止到单词的每一次ELEMENT = 1
出现ELEMENT = 60
我的测试脚本读取了第一次出现的ELEMENT
. 我现在想经历 60 次出现ELEMENT
,所以我尝试实现一个变量跟随ELEMENT
,在这个例子中,我将它初始化为 2 以查看它是否可以工作,你可以猜到它没有(参见示例代码以下)。
elem= 2
lines = open("myfile.txt", "r" ).readlines()
for line in lines:
if re.search( r"ELEMENT= %i" (line, elem) ):
words = line.split()
energy = float( words[1] )
print "%f" % energy
break
我收到以下错误代码:
File "recup.py", line 42, in <module>
if re.search( r"ELEMENT= %i" (line, elem) ):
TypeError: 'str' object is not callable
那么我的问题是如何在我的搜索中实现一个变量?