文字列に "< <"と ">>"で囲まれた単語を検索し、関連する以前に定義された変数に置き換えます。これはうまくいきますが、これを達成するためのより安全で効率的な方法がありますか?私は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