사전의 문자열 표현을 사전으로 변환
사전의 문자열 표현을 사전으로 변환하는 작업을 생각해 보세요. 예를 들면 다음과 같습니다.
이러한 목적으로 평가 기능을 사용하고 싶은 유혹을 느낄 수도 있지만 잠재적인 보안 위험 때문에 평가를 피하는 것이 좋습니다.
대신 다음을 사용하는 것이 좋습니다. Python의 표준 라이브러리에서 제공되는 ast.literal_eval 함수:
ast.literal_eval 함수는 문자열을 안전하게 평가합니다. Python 표현식이 포함되어 있습니다. 문자열, 숫자, 튜플, 목록, 사전, 부울 및 없음과 같은 리터럴 구조만 허용하므로 표현식을 안전하게 평가할 수 있습니다.
이 방법은 실행을 방지하므로 eval을 사용하는 것보다 안전합니다. 잠재적으로 시스템을 손상시킬 수 있는 임의 코드입니다. 예:
첫 번째 예에서 eval은 문자열을 Python 코드로 실행합니다. 이로 인해 mongo가 유효한 디렉터리가 아니기 때문에 오류가 발생합니다. 두 번째 예에서 ast.literal_eval은 문자열을 리터럴 표현식으로 안전하게 평가하고 문자열 형식이 잘못되었음을 나타내는 오류를 발생시킵니다.
위 내용은 Python에서 사전의 문자열 표현을 사전으로 안전하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!