Я создал подпроцесс. Приобретите для создания pdf-файла через pdflatex. Фрагмент кода:Не получать сообщения об ошибках из сбойного подпроцесса.Popen
process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
output, err = process.communicate()
print output
print err
Он работает нормально, но проблема в сообщении об ошибке. Если pdflatex не удается создать файл, например. Я получаю сообщение "Fatal error occured, no output PDF file produced!"
в конце напечатанного вывода, я все еще получаю "None"
, напечатанный как ошибка.
Любое понимание будет оценено
Edit: Добавление stderr=subprocess.PIPE
помогает. Я больше не получаю "None"
, но я получаю пустое сообщение об ошибке независимо от того, успешна ли генерация PDF-файла. Она теперь выглядит следующим образом:
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
same as above
@padraic cunningham Удаление, которое просто вызывает у меня ошибки типа «Нет такого файла или каталога» (это абсурдность, поскольку он находит его с оболочкой = True). – user2875994
@padraic cunningham shell = True не является частью команды. Я не уверен, как то, что вы говорите, решает проблему:/command - это просто строка, которую я собрал, которая запускает pdflatex в файле. Он отлично работает. – user2875994
@padraic cunningham Ну, я сделал это: [link] (http://pastebin.com/231BGssL), тот же результат. – user2875994