我使用下面的代碼來查找字符串中「< <」和「>>」所包含的任何單詞,並將它們替換爲先前定義的相關變量。這有效,但有沒有更安全或更有效的方法來實現這一目標?我已經看到了幾個有關使用eval的警告,我的解決方案看起來過於複雜。如何用Python替換字符串中的動態變量
import re
aa = 'alpha'
bb = 'beta'
cc = 'gamma'
teststr = 'A for <<aa>>, b means <<bb>>, and c could be <<cc>>.'
matches = re.finditer('<<(\w*)>>', teststr)
for i in matches:
teststr = teststr.replace(i.group(0), eval(i.group(1)))
print teststr