Maison > développement back-end > Tutoriel Python > Comment puis-je exécuter en toute sécurité du code Python à partir d'une chaîne ?

Comment puis-je exécuter en toute sécurité du code Python à partir d'une chaîne ?

Susan Sarandon
Libérer: 2024-12-13 01:47:10
original
572 Les gens l'ont consulté

How Can I Safely Execute Python Code from a String?

Exécuter du code Python à partir d'une chaîne

En Python, il existe plusieurs façons d'exécuter du code contenu dans une chaîne. Cependant, il est crucial d'aborder cette tâche avec prudence pour éviter les failles de sécurité.

La méthode préférée pour exécuter les instructions stockées dans une chaîne consiste à utiliser la fonction exec. Python 3 utilise la syntaxe exec(string), tandis que Python 2 utilise exec string. Par exemple :

my_code = 'print("Hello world")'
exec(my_code)
Copier après la connexion

Sortie :

Hello world
Copier après la connexion

Si vous avez besoin de la valeur d'une expression, utilisez plutôt la fonction eval(string) :

x = eval("2+2")
Copier après la connexion

Sortie :

4
Copier après la connexion

Cependant, avant de recourir à l'exécution de code à partir d'une chaîne, envisagez des alternatives plus sûres telles que des fonctions d’ordre supérieur. L'exécution dynamique du code peut introduire des risques de sécurité et des goulots d'étranglement en termes de performances. Évaluez toujours si c'est la solution la plus appropriée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal