sottoprocesso non emetta nulla
-
20-09-2019 - |
Domanda
Sto cercando di usare Python per eseguire pdftotext, ma per qualche ragione, il mio codice non funziona. Se faccio funzionare il seguito, mi aspetto che la variabile contenuti conterrebbe il contenuto del PDF, ma il risultato che sto ottenendo è solo una stringa vuota.
Qualcuno sa che cosa mi manca?
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
Soluzione
Per pdftotext
default non uscita nulla su stdout, invece crea un file .txt
con lo stesso nome di base come il pdf. Per ottenere il testo su stdout, aggiungere -
come secondo parametro nella chiamata a pdftotext
:
process = subprocess.Popen(["pdftotext", path, "-"], shell=False,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow