Maison >développement back-end >Tutoriel Python >Comment puis-je exécuter des programmes externes et des commandes système en Python ?

Comment puis-je exécuter des programmes externes et des commandes système en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-27 15:31:14507parcourir

How Can I Execute External Programs and System Commands in Python?

Exécuter des programmes et des commandes système en Python

En Python, vous devrez peut-être interagir avec des programmes externes ou émettre des commandes système à partir de votre code . Pour ce faire, Python fournit plusieurs mécanismes, notamment subprocess.run et os.system.

subprocess.run

subprocess.run est une méthode populaire et polyvalente pour exécuter programmes et commandes. Il fournit une interface simple et directe. Voici comment l'utiliser :

import subprocess

subprocess.run(["ls", "-l"])

Ce code exécutera la commande "ls -l", comme si vous l'aviez tapé dans un shell ou une invite de commande.

os.system

os.system est une autre option, mais elle est généralement déconseillée en raison de problèmes de sécurité. Il offre moins de contrôle sur l'exécution et est sensible à certaines vulnérabilités de sécurité.

subprocess.call

Pour Python 3.4 et versions antérieures, subprocess.call doit être utilisé à la place de sous-processus.run. Il a le même objectif que subprocess.run, mais avec une syntaxe légèrement différente.

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

Avantages de subprocess.run

Par rapport à os.system, subprocess. run offre plusieurs avantages :

  • Sécurité : subprocess.run offre plus de contrôle sur l'environnement d'exécution, le rendant moins vulnérable aux problèmes de sécurité.
  • Flexibilité : subprocess.run vous permet de capturer la sortie, le flux d'erreurs et le code de sortie, fournissant plus d'informations sur le programme exécuté.
  • Multiplateforme : subprocess.run fonctionne de manière cohérente sur différents systèmes d'exploitation systèmes.

Conclusion

subprocess.run et subprocess.call sont les options préférées pour exécuter des programmes ou des commandes système en Python. Ils offrent une combinaison de sécurité, de flexibilité et de compatibilité multiplateforme.

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