У меня возникла проблема с перенастройкой строк и python с командной строкой Ghostscript.Python - модуль подпроцесса - Ghostscript-2> & 1
Существует NP выполнения этого:
subprocess.call(["gs", "-q","-dBATCH", "-dNOPAUSE","-sDEVICE=bbox", "input.pdf"])
Но я получаю сообщение об ошибке при добавлении 2> & 1:
subprocess.call(["gs", "-q","-dBATCH", "-dNOPAUSE","-sDEVICE=bbox", "input.pdf","2>&1"])
Или:
subprocess.call(["gs", "-q","-dBATCH", "-dNOPAUSE","-sDEVICE=bbox", "input.pdf","2>&1",">/dev/null"])
Я хочу использовать 2> & 1 применить «grep».
Пример ошибки:
Error: /undefinedfilename in (2>&1) Operand stack:
Execution stack: %interp_exit .runexec2 --nostringval--
--nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push Dictionary stack: --dict:1156/1684(ro)(G)--
--dict:1/20(G)-- --dict:77/200(L)-- Current allocation mode is local Last OS error: 2 GPL Ghostscript 9.05: Unrecoverable error, exit code 1 1
до сих пор остается нерешенной, как выполнить команду, как:
subprocess.call("gs -q -dBATCH -dNOPAUSE -sDEVICE=bbox input.pdf 2>&1
| egrep -v HiResBoundingBox | egrep -o "[0-9]{1,}",shell=True)
Команда "нераскрытым" вы пытаетесь выполнить не работает? Или это не работает, если вы попытаетесь сделать это с помощью 'shell = False'? (мне кажется, что он должен работать с 'shell = True') – mgilson
В вашей первоначальной версии была опечатка: у нее было« 2 <& 1 », где« 2> и 1 »должно было быть (в двух разных местах). Убедитесь, что это было причиной ошибки, которую вы видели. В противном случае это может быть Python (с которым я не слишком знаком), не поддерживающий этот вид перенаправления (или требующий другого синтаксиса). –
Читайте о «Взаимодействии с трубами» Ghostscript здесь: http://git.ghostscript.com/?p=ghostpdl.git;a=blob_plain;f=gs/doc/Use.htm;hb=HEAD#Pipes - Это может помочь вам найти обходной путь. –