아래 코드를 사용하여 문자열에 "< <"및 ">>"로 묶인 단어를 찾아서 이전에 정의 된 관련 변수로 바꿉니다. 이 방법이 효과적이지만 더 안전하고 효율적인 방법이 있습니까? 나는 eval의 사용에 대한 몇 가지 경고를 보았고, 나의 해결책은 지나치게 복잡해 보였다.문자열에서 동적 변수를 파이썬으로 바꾸는 방법
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