Python 子流程是';不输出任何东西
我试图使用Python运行pdftotext,但由于某些原因,我的代码无法正常工作。如果我运行下面的命令,我希望content变量将包含PDF的内容,但是我得到的结果只是一个空字符串 有人知道我错过了什么吗Python 子流程是';不输出任何东西,python,subprocess,pdftotext,Python,Subprocess,Pdftotext,我试图使用Python运行pdftotext,但由于某些原因,我的代码无法正常工作。如果我运行下面的命令,我希望content变量将包含PDF的内容,但是我得到的结果只是一个空字符串 有人知道我错过了什么吗 def getPDFContent(path): path = "/path/to/a valid/pdffile.pdf" process = subprocess.Popen(["pdftotext", path], shell=False, stdo
def getPDFContent(path):
path = "/path/to/a valid/pdffile.pdf"
process = subprocess.Popen(["pdftotext", path], shell=False,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
content, err = process.communicate()[0:2]
return content, err
默认情况下,
pdftotext
不会在标准输出上输出任何内容,而是创建一个与pdf基本名称相同的.txt
文件。要获取stdout上的文本,请在调用pdftotext
中添加-
作为第二个参数:
process = subprocess.Popen(["pdftotext", path, "-"], shell=False,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
请注意,不需要使用
[0:2]
切片<代码>通信始终返回长度为2的元组。