사전의 문자열 표현을 사전으로 변환
Python에서는 아래 문자열 표현과 같이 사전의 문자열 표현을 변환하는 것이 종종 바람직합니다. , 해당하는 사전:
s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
'eval' 사용 피하기
'eval' 함수를 사용하여 문자열 표현식을 평가하는 것이 가능하지만 이 방법은 다음과 같은 이유로 권장되지 않습니다. 보안 문제. 'eval'은 임의의 코드를 실행하여 취약점의 위험을 높입니다.
더 안전한 대안
문자열 사전을 안전하게 변환하려면 내장된 'ast.literal_eval' 사용을 고려하세요. ' 기능. 'ast.literal_eval'은 사전, 튜플, 목록 등의 문자열 표현과 같은 리터럴 Python 표현식을 평가하도록 특별히 설계되었습니다.
예
import ast ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
출력:
{'muffin': 'lolz', 'foo': 'kitty'}
이점 'ast.literal_eval'
'eval'과 비교하면, 'ast.literal_eval'은 사전이나 기타 리터럴의 문자열 표현을 Python 객체로 변환하는 더 안전하고 제어된 방법을 제공합니다.
위 내용은 Python에서 사전의 문자열 표현을 사전으로 안전하게 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!