Exécution de programmes externes à partir de Python
Problème :
Exécution de programmes externes à l'aide de os.system échoue lorsque le chemin du programme contient des espaces. Échapper au chemin du programme avec des guillemets doubles permet l'exécution, mais l'ajout d'un paramètre provoque à nouveau l'échec de l'exécution du programme.
Solution :
Pour éviter les problèmes liés aux conventions de citation et espaces dans les chemins de programme, il est recommandé d'utiliser le module subprocess. En particulier, la fonction subprocess.call peut exécuter des programmes et attendre leur achèvement. Voici comment l'utiliser :
<code class="python">import subprocess # Create a list of arguments, including the program path and any arguments. args = ['C:\Temp\a b c\Notepad.exe', 'C:\test.txt'] # Execute the program using subprocess.call. subprocess.call(args)</code>
Explication :
subprocess.call prend une liste d'arguments, ce qui facilite la gestion des espaces et des caractères spéciaux dans les chemins de programme et des arguments. Cela simplifie également la gestion des erreurs et évite les problèmes potentiels liés au shell. En utilisant subprocess.call, vous pouvez exécuter de manière fiable des programmes externes à partir de votre script Python, même lorsque le chemin du programme contient des espaces.
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!