Maison >développement back-end >Tutoriel Python >Comment exécuter en toute sécurité des commandes externes en Python à l'aide de subprocess.run ?

Comment exécuter en toute sécurité des commandes externes en Python à l'aide de subprocess.run ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 20:19:10689parcourir

How to Safely Execute External Commands in Python Using subprocess.run?

Exécuter des commandes externes en Python

Python fournit plusieurs méthodes pour exécuter des programmes externes ou appeler des commandes système. Une approche populaire consiste à utiliser le module de sous-processus. Cet article explique comment utiliser subprocess.run pour appeler des commandes externes.

Comment utiliser subprocess.run

La fonction subprocess.run vous permet d'exécuter une commande externe comme si vous l'aviez tapé directement dans une invite de commande. Pour l'utiliser, passez simplement la commande et ses arguments sous forme de liste :

import subprocess

subprocess.run(['ls', '-l'])  # Execute the 'ls -l' command

Notez que la commande et ses arguments doivent être une liste de chaînes.

Avantages du sous-processus .run

  • Plus sûr : subprocess.run est considéré comme plus sûr que d'utiliser os.system, en particulier lorsqu'il s'agit de saisies utilisateur ou de commandes contenant des espaces ou des caractères spéciaux.
  • Flexible : subprocess.run offre plus de contrôle sur le sous-processus, y compris la possibilité de capturer la sortie , l'état de l'erreur et d'autres informations.

Approche alternative

Une autre option pour l'exécution de commandes externes utilise os.system. Cependant, son utilisation est déconseillée en raison de problèmes de sécurité et de limitations.

Pour Python 3.4 et versions antérieures

Si vous utilisez Python 3.4 ou une version antérieure, vous devez utiliser le sous-processus .call au lieu de subprocess.run. La syntaxe est similaire :

subprocess.call(['ls', '-l'])

Conclusion

L'utilisation de subprocess.run est généralement l'approche recommandée pour exécuter des commandes externes en Python. Il fournit un moyen flexible et sécurisé d'interagir avec le système et d'étendre les capacités de vos programmes Python.

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!

Déclaration:
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