Я написал скрипт на python для автоматизации превращения документов Sweave / LaTeX в PDF-файлы.Вот самая важная часть:
os.system("""echo "Sweave('%s.Rnw')" | R --vanilla --quiet"""%topic)
seq = ['p','b','p','b','p','p']
for op in seq:
if op is 'p':
os.system('pdflatex %s'%topic)
if op is 'b':
os.system('bibtex %s'%topic)
if op is 'l':
os.system('latex %s'%topic)
Это прекрасно работает, если нет ошибок, но если есть ошибка LaTeX, меня переводят в CLI для LaTeX, например,
[10]
! You can't use `macro parameter character #' in vertical mode.
l.625 #
?
Затем мне нужно вырваться из этого вручную.Есть ли способ, которым я могу дать Python «знать», что системный вызов os.san сгенерировал ошибку в LaTeX, а затем завершить этот вызов, но все еще захватывая текст ошибки?