Я загрузил программу python (PYPDFOCR), которая проходит через командную строку. PYPDFOCR имеет несколько зависимостей (сценарий-призрак, магия изображения и т. Д.)Командная программа, не выполняемая подпроцессом PYTHON
Когда я запускаю программу в командной строке, она терпит неудачу. Код выполняет GhostScript со всеми его аргументами, но я получаю ошибку, что команда не распознана.
Если я иду в командную строку, я могу выполнить сценарий-призрак «C: \ Programs ..... \ gswin64c.exe» и передать аргументы и получить результат. Однако, когда я запускаю PYPDFOCR, он терпит неудачу каждый раз.
def _run_gs(self, options, output_filename, pdf_filename):
try:
cmd = '%s -q -dNOPAUSE %s -sOutputFile="%s" "%s" -c quit' % (self.binary, options, output_filename, pdf_filename)
logging.info(cmd)
out = subprocess.check_output(cmd, shell=True)
except subprocess.CalledProcessError as e:
print e.output
if "undefined in .getdeviceparams" in e.output:
error(self.msgs['GS_OUTDATED'])
else:
error (self.msgs['GS_FAILED'])
Я получаю ошибку в команде является «C \ Program» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Когда я распечатать содержимое команды, он показывает:
C: \ Program File \ Gs \ gs9.16 \ Bin \ gswin64c.exe»-q -dNOPAUSE -sDEVICE = J [ecgray -dJPEG = 75 -r300 -sOutputFILE = "C: \ test \ a3_% d.jpg" c: \ test \ a3.pdf "-c quit
Опять же, я могу запустить c: ... gswin64 .exe без программы.
Любая помощь будет глубоко оценена.
Предлагая избегать ошибок форматирования пути Windows, поместите файл c: \ Program Files \ gs \ gs9.16 \ bin в Windows PATH и не используйте C: \ ... в любом месте команды, которая будет выполнена. – belwood