PHP 에서 DB 에 LIST 형식의 STRING 문자열을 담아 놓았다 이를 PYTHON 에서 TYPE 만 변경 하는 함수가 있다. PHP & Perl & JavaScript 에서 쓰던 함수가 .... 편하다 PYTHON 

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'> 형식으로 변경 된걸 확인할수 있다.

2022/11/30 17:46 2022/11/30 17:46

Trackback Address :: https://youngsam.net/trackback/2154