Maison  >  Article  >  développement back-end  >  Comment puis-je exécuter des scripts Python avec des arguments provenant d'un autre script Python ?

Comment puis-je exécuter des scripts Python avec des arguments provenant d'un autre script Python ?

DDD
DDDoriginal
2024-11-02 07:46:29745parcourir

How Can I Execute Python Scripts with Arguments from Another Python Script?

Exécuter des scripts Python à partir d'autres scripts Python avec des arguments

En Python, il est souvent nécessaire d'exécuter un script externe avec des paramètres ou des arguments spécifiques . Bien que la question Stack Overflow 1186789 résout partiellement ce problème en appelant une seule fonction, elle ne parvient pas à répondre à l'exécution de scripts complets. De plus, l'approche execfile mentionnée dans la question ne permet pas le passage correct des variables, car sys.argv dans le script cible reste inchangé.

Pour remédier à cela, l'utilisation de os.system est recommandée :

<code class="python">import os

os.system("script2.py 1")</code>

La fonction os.system fournit un moyen pratique d'exécuter une commande externe à partir d'un script Python. Dans l'exemple ci-dessus, il lance le script script2.py avec l'argument 1.

La principale différence entre os.system et execfile réside dans leurs contextes respectifs. execfile exécute le code dans l'environnement d'exécution actuel, ce qui empêche la mise à jour de sys.argv. À l'inverse, os.system crée un nouveau processus pour exécuter le script, garantissant que les arguments prévus sont transmis correctement.

En utilisant os.system, vous pouvez exécuter de manière transparente des scripts externes avec des paramètres spécifiés sans nécessiter aucune modification du script cible.

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