次のような入力ファイル (temp.tmpl) があるとします。
PTF @
ARB @ C @ @ A @ @ C @
OSN @ B @ @ A @
SDA @ B @
CPN 3.23
SNL 3.26
そして、他のファイル (candidate.txt) で:
A 3.323 B 4.325 C 6.32 D 723 E 8 F 9 G 1.782
H 7
I 4
J 9
K 10
そして、 A 、 B 、および C を割り当てられた値に置き換えたいと思いました。私のタスクでこれを達成する必要がある方法は、@ @ を探して変数 A、B、および C を見つけることです...そして、これが明らかに変数であることを知っています。次に、それらを交換します。これは私が試したことです:
reader = open('candidate.txt', 'r')
out = open('output.txt', 'w')
dictionary = dict()
for line in reader.readlines():
pairs = line.split()
for variable, value in zip(pairs[::2],pairs[1::2]):
dictionary[variable] = value
#Now to open the template file
template = open('temp.tmpl', 'r')
for line1 in template:
if line1[1]:
confirm = line1.split(' ')[0].lower()
symbol = line1.split(' ')[1]
if confirm == 'ptf':
next(template)
elif symbol in line1:
start = line1.find(symbol)+len(symbol)
end = line1[start:].find(symbol)
variable = line1[start:start + end].strip()
print variable
そして、複数の変数セットを持つ行を処理する方法を理解できないようです。
よろしくお願いします。