shutil.copyfile verursacht no such file or directory

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
drnicolas
User
Beiträge: 87
Registriert: Sonntag 24. Juli 2016, 10:32

Ich werde noch wahnisnnig:
beim Kopieren einer Datei tritt ein FileNotFoundError für die Zieldatei auf:

Der Dateiname ist allerdings etwas eigen: Rechnung XXX-0 v. 05.03.24.pdf
Zusammen mit dem Pfad versuche ich das mit escaping zu lösen: "\""+__DMS_archiv+"/"+subj+".pdf" +"\""

Daraus wird dann die Fehlermeldung:
File "/usr/local/lib/python3.9/shutil.py", line 266, in copyfile
with open(dst, 'wb') as fdst:
FileNotFoundError: [Errno 2] No such file or directory: '"/mnt/DMS_rechnungen/Rechnung XXX-0 v. 05.03.24.pdf"'
Bitte nicht übersehen, dass oben ' und " nacheinander kommen (ist schwer zu sehen)

Mache ich da möglicherweise etwas beim "Escaping" falsch?
Wenn ich das ganze per bash-Befehl manuell machen will, dann scheint es zu funktionieren
Zuletzt geändert von drnicolas am Dienstag 16. April 2024, 13:24, insgesamt 1-mal geändert.
Benutzeravatar
__blackjack__
User
Beiträge: 13124
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@drnicolas: Was Du da mit ”escaping” machst ist Unsinn. Das ist Python und kein Shell-Skript. Du baust da anscheinend tatsächlich Anführungszeichen *in* den Namen ein. Ausserdem baut man keine Pfadteile mit Zeichenketten und ``+`` zusammen, dafür gibt es das `pathlib`-Modul.

Das sollte so aussehen:

Code: Alles auswählen

    destination_file_path = dms_archive_path / f"{subject}.pdf"
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten