ホームページ > バックエンド開発 > Python チュートリアル > 辞書の文字列表現を Python 辞書に安全に変換するにはどうすればよいですか?

辞書の文字列表現を Python 辞書に安全に変換するにはどうすればよいですか?

DDD
リリース: 2024-12-29 06:08:11
オリジナル
795 人が閲覧しました

How Can I Safely Convert a String Representation of a Dictionary to a Python Dictionary?

辞書の文字列表現を辞書に変換する

多くの場合、与えられたもののような辞書の文字列表現を変換する必要がある場合があります。

s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
ログイン後にコピー

このような変換には eval を使用しないことが望ましいです。セキュリティ上の懸念のため。以下に、より安全な代替手段をいくつか示します。

ast.literal_eval の使用:

Python の ast モジュールには、式文字列を安全に評価するために特別に設計された literal_eval という便利な関数が用意されています。

import ast
dict_from_string = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
ログイン後にコピー

このメソッドではリテラルと単純な値の評価のみが可能です

ast.literal_eval の利点:

eval とは異なり、ast.literal_eval は評価を限られた Python リテラルのセットに制限します。これにより、任意のコードの実行に関連する潜在的なセキュリティ リスクが防止されます。

以上が辞書の文字列表現を Python 辞書に安全に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート