ホームページ > バックエンド開発 > Python チュートリアル > 「exec」と「eval」を使用して Python コード文字列を安全に実行するにはどうすればよいですか?

「exec」と「eval」を使用して Python コード文字列を安全に実行するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-30 08:25:14
オリジナル
939 人が閲覧しました

How Can I Execute Python Code Strings Using `exec` and `eval` Safely?

Python でのコード文字列の実行

文字列として保存された Python コードの実行は、この言語のユニークで強力な機能です。このガイドでは、exec 関数と eval 関数を使用してこれを実現する方法について説明します。

ステートメントに exec を使用する

ステートメントを処理する場合、exec は非常に重要であることがわかります。 Python 3 では exec(string) として動作しますが、Python 2 では単なる exec string です。次の例を考えてみましょう。

my_code = 'print("Hello world")'
exec(my_code)
ログイン後にコピー

結果として、「Hello world」がコンソールに出力されます。

式に eval を使用する

対照的に、eval は次のようになります。式の値が必要な場合に再生します。構文は Python のバージョン間で同様です。

x = eval("2+2")
ログイン後にコピー

これにより、式 "2 2" (つまり 4) の結果が変数 x に割り当てられます。

注意事項

exec と eval は多用途性を提供しますが、使用する場合は注意が必要です。外部ソースに由来する可能性のあるコードを実行すると、重大なセキュリティ リスクが生じます。これにより、潜在的な攻撃者がシステム上で任意のコードを実行できるようになります。

検討すべき代替案

コード文字列の実行に頼る前に、高階関数などの代替アプローチを検討してください。これらは、よりクリーンで安全、より効率的なソリューションを提供します。

以上が「exec」と「eval」を使用して Python コード文字列を安全に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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