У меня есть сценарий Python, который должен выполнять внешнюю программу, но по какой-то причине не удается.
Если у меня есть следующий скрипт:
import os;
os.system("C:\\Temp\\a b c\\Notepad.exe");
raw_input();
Тогда это терпит неудачу со следующей ошибкой:
«C: \ Temp \ a» не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.
Если я выйду из программы с кавычками:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe"');
raw_input();
Тогда это работает. Однако, если я добавлю параметр, он перестанет работать снова:
import os;
os.system('"C:\\Temp\\a b c\\Notepad.exe" "C:\\test.txt"');
raw_input();
Как правильно выполнить программу и дождаться ее завершения? Мне не нужно читать выходные данные из него, так как это визуальная программа, которая выполняет работу, а затем просто завершает работу, но мне нужно дождаться ее завершения.
Также обратите внимание, что перемещение программы по незаполненному пути также не вариант.
Это тоже не работает:
import os;
os.system("'C:\\Temp\\a b c\\Notepad.exe'");
raw_input();
Обратите внимание на замененные одинарные / двойные кавычки.
С или без параметра для Блокнота здесь, это не с сообщением об ошибке
Неверный синтаксис имени файла, имени каталога или метки тома.
"C:\Program Files\GDAL\gdal_translate.exe" -ot byte -of GTIFF -scale -co PHOTOMETRIC=CMYK "cmyk-16.tif" "cmyk-8_out.tif"
. В Python, это будет выглядеть так : ["C:\\Program Files\\GDAL\\gdal_translate.exe", "-ot", "byte", "-scale", "-co", "PHOTOMETRIC=CMYK", "input_cmyk-16.tif", "output_cmyk-8.tif"]
.
os.system(r'C:\temp\"a b c"\Notepad.exe')
или это:os.system('C:\\temp\\"a b c"\\Notepad.exe')