0

我从 python 调用 pdflatex 使用

executeCode = 'pdflatex -shell-escape "' + packageName + '.tex"'
result = os.system(executeCode)

然而,LaTeX 文档可能有错误,在这种情况下 pdflatex 要求键盘输入。对于 python,这与无限循环相同。在 PyScripter 中,我什至无法停止 python。我必须杀死pdflatex。

现在我需要两件事 1. 我想查看 pdflatex 的输出 2. 我需要在控制台上与 pdflatex 交互

我怎样才能做到这一点?

4

1 回答 1

0

如果您使用--interaction nonstopmode选项 pdflatex 不会停止并要求输入。

使用该subprocess模块为您提供了有关如何处理该过程的更多选项。

subprocess.call(['pdflatex', '--interaction', 'nonstopmode', '-shell-escape', packageName + '.tex'])

您可以使用stdoutandstderr选项将这些输出重定向到管道或文件。

如果要捕获程序的输出,请subprocess.check_output()改用。

于 2013-04-01T14:53:34.673 回答