The documents рекомендую использовать subprocess.call
с shell=True
, однако, когда я пытаюсь сделать что-то же просто, какКак использовать subprocess.call без оболочки = True
call(['convert'])
Я получаю сообщение об ошибке:
Must specify a file system
Когда я запускаю ту же команду через cmd.exe, я получаю
C:\Users\Mark>convert
Version: ImageMagick 6.7.3-6 2011-11-10 Q16 http://www.imagemagick.org
...
e tc., то есть он фактически работает.
Так что же call
делать? Почему он ищет файл?
Нужен ли полный путь к .exe? Если это так, я бы предпочел не делать этого, так как я не знаю, где находятся все .exe.
Просто попробовал полный путь файла к программе (call(['C:/imagemagick/convert.exe'])
) и что работает. Но вопрос все еще стоит ... как вы это делаете без полного пути? Просто выполнить его из рабочего каталога?
Не эксперт в Windows, но можно догадаться, что это попытка «dir.exe» –
@RSamuelKlatchko: такая же ошибка. Расширение файла обычно может быть опущено для .exes на окнах. – mpen
Вы используете интерпретатор Python, установленный в Windows, а не интерпретатор Python внутри Cygwin или аналогичную среду, не так ли? – gotgenes