Maison  >  Article  >  développement back-end  >  Comment exécuter des programmes externes avec des espaces dans le chemin depuis Python ?

Comment exécuter des programmes externes avec des espaces dans le chemin depuis Python ?

DDD
DDDoriginal
2024-11-04 14:47:02438parcourir

How to Execute External Programs with Spaces in the Path from Python?

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!

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