Seite 1 von 1

Python kopieren zwischen Raspberry Pi und Fileserver

Verfasst: Mittwoch 21. September 2022, 13:52
von PotterParsel
Hallo zusammen,

ich habe folgendes Problem:

auf meinen Desktop habe ich das Bild Test.png → Pfad: /home/pi/Desktop/Test.png

ich möchte dieses Bild mit Python auf meinen FileServer kopieren → Pfad: \\Server/BilderBackup/

ausprobiert habe ich Folgendes:

Code: Alles auswählen

pathpicture="\\Server/BilderBackup/Bild1.png"
path= "/home/pi/Desktop/Test.png"
smbclient.copyfile(path, fr"\{pathpicture}", username=username, password=password)

Leider bekomme ich nur folgende Fehlermeldung:

ValueError: src must be an absolute path to where the file should be copied from.

Hat, wer ’ne Idee?

Re: Python kopieren zwischen Raspberry Pi und Fileserver

Verfasst: Mittwoch 21. September 2022, 14:05
von __deets__
Du hast da schon wieder irgendwelche Muell-Zeichen drin. In diesem Fall ein \{.

Re: Python kopieren zwischen Raspberry Pi und Fileserver

Verfasst: Mittwoch 21. September 2022, 14:20
von __blackjack__
Wenn man das weg lässt, dann ist auch das f-Zeichenkettenliteral überflüssig. Und die Fehlermeldung passt auch nicht zum Code, denn der Quellpfad *ist* in dem Beispiel ja ein absoluter Pfad. 🤔

Re: Python kopieren zwischen Raspberry Pi und Fileserver

Verfasst: Mittwoch 21. September 2022, 15:43
von PotterParsel
__blackjack__ hat geschrieben: Mittwoch 21. September 2022, 14:20 Wenn man das weg lässt, dann ist auch das f-Zeichenkettenliteral überflüssig. Und die Fehlermeldung passt auch nicht zum Code, denn der Quellpfad *ist* in dem Beispiel ja ein absoluter Pfad. 🤔
Genau das ist, was ich nicht verstehe. Der Pfad ist der absolute Pfad und die Datei existiert auch.

Ich habe jetzt mal die \{ herausgenommen und bekomme trotzdem noch den gleichen Fehler

Code: Alles auswählen

pathpicture="\\Server/BilderBackup/Bild1.png"
path= "/home/pi/Desktop/Test.png"
if Path(path).is_file():
    print("JA")
    smbclient.copyfile(path,pathpicture, username=username, password=password)

Re: Python kopieren zwischen Raspberry Pi und Fileserver

Verfasst: Mittwoch 21. September 2022, 15:58
von __deets__
Seufz. Da wiederum fehlt das r vor dem pathpicture-String-Literal. Denn da willst du ja in Summe zwei backslashes haben. Du musst dir sowohl die Pfadkonventionen, als auch die Art, wie Strings in Python escape Sequenzen handhaben, richtig verinnerlichen. Sonst stolperst du da permanent rum.