J'ai un script Python qui doit exécuter un programme externe, mais échoue pour une raison quelconque.Comment exécuter un programme à partir de Python? os.system échoue en raison d'espaces dans le chemin
Si je le script suivant:
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
Ensuite, il échoue avec l'erreur suivante:
'C:\Temp\a' is not recognized as an internal or external command, operable program or batch file.
Si j'échapper le programme avec des citations:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
Ensuite, travaux. Cependant, si j'ajoute un paramètre, il cesse de fonctionner à nouveau:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
Quelle est la bonne façon d'exécuter un programme et d'attendre qu'elle se termine? Je n'ai pas besoin d'en lire les résultats, car c'est un programme visuel qui fait un travail et qui se termine juste, mais je dois attendre que cela se termine.
Notez également que déplacer le programme vers un chemin non-espacé n'est pas non plus une option.
Cela ne fonctionne pas non plus:
import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
Notez les simples/doubles guillemets permutées.
Avec ou sans un paramètre au bloc-notes ici, il échoue avec le message d'erreur
The filename, directory name, or volume label syntax is incorrect.
Utilisez ceci: 'os. système (r'C: \ temp \ "abc" \ Notepad.exe ') ' ou ceci:' os.system (' C: \\ temp \\ "abc" \\ Notepad.exe ') ' – chanzerre