Подпроцесс Popen и PIPE в Python
-
11-09-2019 - |
Вопрос
Следующий код выводит пустую строку в качестве вывода, что является ложным.Проблема не в разрешениях, так как я тестировал команду с правами 777 для pdf-файла. Как исправить команду, чтобы она выдавала правильный результат?
import subprocess
from subprocess import PIPE, Popen
output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf'], stdout=PIPE).communicate()[0]
Решение
pdftotext по умолчанию создает файл.Чтобы отправить результат на стандартный вывод, используйте:
pdftotext file.pdf -
или в Python:
output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf', '-'], stdout=PIPE).communicate()[0]
Не связан с StackOverflow