text01 = ['동', '해', '물', '과']
text01 = eval(text01)
print(type(text01)
<class 'list'> 형식으로 변경 된걸 확인할수 있다.
매개변수로 받은 expression을 파이썬이 실행시켜주는 함수라고 생각하자. // eval () 빌트인 함수 문제는 입력값으로 시스템 공격을 가할 수 있는 취약점이 있다. 예를들어 "session.update(authenticated=True)" 문자열을 데이터로 공급하면 session 디렉터리를 업데이트하여 인증 키를 True로 변경할수 있다.
이문제로 ast 모듈이 나왔다. ast 모듈에 literal_eval() 함수를 사용하면 단순 표현식만 변환 하므로 더 안전하다.
import ast
text01 = ['동', '해', '물', '과']
text01 = ast.literal_eval(text01)
print(text01)
print(type(text01))
<class 'list'> 형식으로 변경 된걸 확인할수 있다.
<class 'list'> 형식으로 변경 된걸 확인할수 있다.