次の形式の複数の行を含むテキスト ファイルがあります。
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
私の質問は、検索に変数をどのように実装するかということです。