J'ai un script python qui doit exécuter un programme externe, mais pour une raison échoue.
Si j'ai le script suivant:
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
Puis 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'ai échappé le programme avec des guillemets:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
Puis il travaille. Cependant, si j'ajoute un paramètre, il s'arrête 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 de lire de sortie, comme elle est l'image d'un programme qui fait un travail et puis il suffit de sortie, mais j'ai besoin d'attendre qu'elle se termine.
À noter également, le déplacement le programme à un non-espacés chemin n'est pas une option non plus.
Modifier Ce qui ne fonctionne pas:
import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
Remarque le échangé simple/double guillemets.
avec ou sans paramètre de bloc-notes ici, il échoue avec le message d'erreur
The filename, directory name, or volume label syntax is incorrect.