Подпроцесс Popen и PIPE в Python - PullRequest
4 голосов
/ 03 декабря 2009

Следующий код печатает пустую строку как вывод, который является ложным. Проблема не в разрешениях, так как я протестировал команду с разрешениями 777 для pdf-файла. Как вы можете исправить команду, чтобы получить правильный вывод?

import subprocess
from subprocess import PIPE, Popen
output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf'], stdout=PIPE).communicate()[0]

1 Ответ

6 голосов
/ 03 декабря 2009

pdftotext создает файл по умолчанию. Чтобы отправить результат на стандартный вывод, используйте:

pdftotext file.pdf -

или в Python:

output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf', '-'], stdout=PIPE).communicate()[0]
...