Exécution de programmes externes à partir de Python : gestion des chemins avec des espaces
Le problème décrit dans la requête d'origine concerne l'exécution d'un programme externe à partir d'un Python scénario. Le script fourni tente de lancer Notepad.exe avec un chemin contenant des espaces, mais rencontre une erreur due à la façon dont le shell interprète la commande.
Pour résoudre ce problème, il est nécessaire d'échapper correctement au chemin à gérer espaces. L'utilisation de guillemets doubles autour du chemin, comme dans le deuxième exemple de script, identifie correctement le chemin complet. Cependant, l'ajout d'un argument à la commande entraîne un nouvel échec de celle-ci.
La solution idéale consiste à utiliser la fonction subprocess.call de Python. Cette fonction accepte une liste en entrée, permettant de délimiter facilement les arguments. En fournissant le chemin complet et l'argument sous forme de liste, comme indiqué dans le code fourni, le problème des espaces dans le chemin est géré avec élégance.
L'utilisation de subprocess.call élimine également le besoin de conventions de citation spécifiques qui diffèrent d'un pays à l'autre. coquilles. Il garantit que le programme externe est exécuté correctement, quelle que soit la présence d'espaces dans le chemin ou d'arguments.
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!