我设置了一个 subprocess.Popen 来通过 pdflatex 生成一个 pdf。代码片段:
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"
打印为错误。
任何见解将不胜感激
编辑:添加stderr=subprocess.PIPE
帮助。我不再收到"None"
了,但是无论 pdf 的生成是否成功,我都会收到一条空白错误消息。现在看起来像这样:
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
same as above