【发布时间】:2010-12-22 15:16:47
【问题描述】:
以下代码将空行打印为错误的输出。 问题不在于权限,因为我测试了具有 pdf 文件的 777 权限的命令。 如何修复命令以提供正确的输出?
import subprocess
from subprocess import PIPE, Popen
output = Popen(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf'], stdout=PIPE).communicate()[0]
【问题讨论】:
-
不相关:在 Python 2.7+ 中,如果要引发非零退出状态的异常,可以将其写为
output = check_output(['pdftotext', '/home/aal/Desktop/lkn_pdf/appa.pdf', '-'])。 -
@J.F.Sebastian 我认为你的评论应该是一个答案。
-
由于问题标题,该评论适用于来自谷歌的访问者。但是
check_output与.communicate与您的真正问题无关:将输出文件名提供为-,以便pdftotext写入管道(其标准输出)并且该部分已经得到回答。
标签: python subprocess pipe popen