ホームページ >バックエンド開発 >Python チュートリアル >Python で辞書の文字列表現を辞書に安全に変換するにはどうすればよいですか?
辞書の文字列表現を辞書に変換する
Python では、以下の文字列表現のように、辞書の文字列表現を変換することが望ましいことがよくあります。 、対応するものにdictionaries:
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 中国語 Web サイトの他の関連記事を参照してください。