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!