Parameterangabe kommt aus dem Nirvana anstatt von mir

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rfr-mailbox@gmx.de
User
Beiträge: 14
Registriert: Mittwoch 28. Oktober 2015, 12:48

Es geht um folgenden Codeausschnitt:
------------------------------------------------------------------------------
from PyPDF2 import PdfFileReader

def extract_information(pdf_path):n
with open(pdf_path, 'rb') as f:
pdf = PdfFileReader(f)
information = pdf.getDocumentInfo()
number_of_pages = pdf.getNumPages()
--------------------------------------------------------------------------------
welcher zu folgender Reaktion (in Spyder3) führt:

.......................................................................................

File "/home/rfr/.config/spyder-py3/untitled0.py", line 26, in <module>
extract_information(path)
File "/home/rfr/.config/spyder-py3/untitled0.py", line 5, in extract_information
with open(pdf_path, 'rb') as f:

FileNotFoundError: [Errno 2] No such file or directory: 'reportlab-sample.pdf'
.........................................................................................
Richtig ist, dass das File nicht gefunden werden kann, weil es nicht da ist.
Aber wie mache ich das, dass ich einen Pfad zum file übergebe, den ich auswählen kann?

Gruss

Robert
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Verstehe ich nicht. Willst du eine grafischen Dateidialog, oder worum gehts es?
rfr-mailbox@gmx.de
User
Beiträge: 14
Registriert: Mittwoch 28. Oktober 2015, 12:48

Das Programm versucht, eine Datei namens 'reportlab-sample.pdf zu finden, die es aber nicht gibt.
Ich will meine eigene Datei als Parameter übergeben.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Irgendwo in deinem Quelltext wird dieser Wert doch stehen. Da in dem Quelltext den du zeigst dieser Pfad, der nicht existiert, nicht vorkommt, muss der wohl irgendwo auf deiner Festplatte schlummern. Aber wo kann hier doch keiner sagen.

Laut Fehlermeldung in einer Variable namens “path”.
Benutzeravatar
YAPD
User
Beiträge: 120
Registriert: Dienstag 27. Juli 2021, 23:23
Wohnort: Frankfurt am Main

Hi,

so kann das auch nicht funktionieren. Wie _deets_ sagte, muss das Verzeichnis ja irgendwo ermittelt
werden, das er verwendet. Hier ein Beispiel von mir, das alle PDFs in einem Verzeichnis ausliest und
anschließend mit "PdfFileReader" verarbeitet :

Code: Alles auswählen

from PyPDF2 import PdfFileReader
import glob


def extract_information(folder):

    filenames = glob.glob(folder)
    print(filenames)

    for file in filenames:

        with open(file, "r"):

            pdf = PdfFileReader(file)
            pdf_infos = pdf.getDocumentInfo()
            pdf_pages = pdf.getNumPages()
            
            print("File  : {}".format(file))
            print("Info  : {}".format(pdf_infos))
            print("Pages : {}".format(pdf_pages))

folder = "D:\\Test\\*.pdf"
extract_information(folder)
Ich hoffe, das hilft dir.

VG
YAPD
-----
Yet Another Python Developer
Sirius3
User
Beiträge: 18250
Registriert: Sonntag 21. Oktober 2012, 17:20

@YAPD: was soll das open, das gar keinen Sinn hat?
Benutzeravatar
YAPD
User
Beiträge: 120
Registriert: Dienstag 27. Juli 2021, 23:23
Wohnort: Frankfurt am Main

Sirius3 hat geschrieben: Mittwoch 11. August 2021, 05:49 @YAPD: was soll das open, das gar keinen Sinn hat?
Ja du hast Recht, natürlich braucht man bei PDF in diesem
Beispiel keinen open ( )Befehl.
-----
Yet Another Python Developer
Antworten