Python smbclient filedialog

Fragen zu Tkinter.
Antworten
PotterParsel
User
Beiträge: 20
Registriert: Montag 5. September 2022, 08:58

Hallo zusammen,

ich habe auf meinen Fileserver Bilder, welche ich gerne über ein filedialog auswählen würde.

Leider öffnet der filedialog den Pfad / anstelle des Pfads \Server/Bilder.

Kann mir jemand bei meinem Problem helfen?

Code: Alles auswählen

file = smbclient.listdir(fr"\\Server/",username=username,password=password)
root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = file,title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
print (root.filename)
Zuletzt geändert von PotterParsel am Montag 12. September 2022, 08:59, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das fr gehört vor das Anführungszeichen.
PotterParsel
User
Beiträge: 20
Registriert: Montag 5. September 2022, 08:58

__deets__ hat geschrieben: Montag 12. September 2022, 08:58 Das fr gehört vor das Anführungszeichen.
Danke für den Hinweis. Das habe ich gleich geändert. Leider ist das Problem immer noch da :(
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nochmal genauer hingeschaut. Das ist Quatsch programmiert. Nur weil smbclient es erlaubt, eine Datei auf einem SMB Server abzugreifen, ist das Ergebnis nicht ein Objekt, das dann von fliedialog verstanden wird. Der kann nur lokale Dateien benutzen. So gehts halt einfach nicht.
PotterParsel
User
Beiträge: 20
Registriert: Montag 5. September 2022, 08:58

__deets__ hat geschrieben: Montag 12. September 2022, 09:07 Nochmal genauer hingeschaut. Das ist Quatsch programmiert. Nur weil smbclient es erlaubt, eine Datei auf einem SMB Server abzugreifen, ist das Ergebnis nicht ein Objekt, das dann von fliedialog verstanden wird. Der kann nur lokale Dateien benutzen. So gehts halt einfach nicht.
Heißt es ist nicht möglich den fliedialog mit einer SMB Verbindung zu nutzen?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das heißt es. Außer du hast diese Verbindung im System getätigt, also die Freigabe irgendwie lokal verfügbar gemacht. Als Netzlaufwerk oder so.
Sirius3
User
Beiträge: 18051
Registriert: Sonntag 21. Oktober 2012, 17:20

Du mußt den Dialog komplett selbst programmieren, und zwar so, dass er mit smbclient zusammenarbeiten kann.
PotterParsel
User
Beiträge: 20
Registriert: Montag 5. September 2022, 08:58

__deets__ hat geschrieben: Montag 12. September 2022, 09:41 Das heißt es. Außer du hast diese Verbindung im System getätigt, also die Freigabe irgendwie lokal verfügbar gemacht. Als Netzlaufwerk oder so.
Ich habe eine Freigabe auf meinen Raspberry Pi.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Es geht darum, dass diese Freigabe auf dem Zielsystem gemountet ist. Zb als Laufwerk. Dann ist es aber auch überflüssig, smbclient zu benutzen. Wenn der benutzt werden soll, musst du Sirius3 Hinweis folgen.
Antworten