假设我有一个如下所示的输入文件 (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
而且我似乎无法弄清楚如何处理具有多组变量的行。
非常感谢你。