Seite 1 von 1

Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 08:48
von okliw994
Hallo zusammen,

Wahrscheinlich ist meine Frage ganz einfach und ich stehe gerade nur auf dem Schlauch...

Ich suche einen Befehl um einen Ordner zu öffnen. Ich stelle mir das so vor, dass man in den Befehl einfach den Ordnerpfad eingibt und nach der Ausführung der Ordner geöffnet und angezeigt wird.

Die Ordnerinhalte auszulesen stellt kein Problem dar. Ich erzeuge in meinem Programm Bilddateien und speichere diese in einen bestimmten Ordner (/home/pi/Bildprogramm/Fotos). Den Ordner Fotos möchte ich mittels eines Buttons auf meiner Programmoberfläche öffnen um quasi einen Schnellzugriff auf die Dateien zu haben.

Ich programmiere in Python3 und das Programm soll auf einem Raspberry Pi 3 laufen..

Ich hoffe mir kann jemand helfen.. Google und die SuFu habe ich schon gefragt..

Gruß, okliw994

Re: Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 09:00
von Jankie
Hey, das geht z.B. mit subprocess


unter Windows:

Code: Alles auswählen

import subprocess



subprocess.Popen(r'explorer "C:\Users\xxx\Documents\"')

Re: Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 09:09
von okliw994
Auf dem RPi bekomme ich da leider folgende Fehlermeldeung:

FileNotFoundError: [Errno 2] No such file or directory: 'explorer "/home/pi/Bildprogramm/Fotos"

Ich denke das wird an dem explorer liegen...

Re: Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 09:41
von __blackjack__
@okliw994: Das es auf dem RasPi keinen Explorer gibt ist erst das zweite Problem. Es gibt halt auch kein Programm das 'explorer "/home/pi/Bildprogramm/Fotos"' heisst. Man muss bei `Popen` die Argumente selber trennen und als Liste übergeben und den Pfad auch ohne Anführungszeichen, denn der enthält ja keine Anführungszeichen: subprocess.Popen(['explorer', '/home/pi/Bildprogramm/Fotos'])

Statt 'explorer' müsstest Du den Programmnamen verwenden den der Dateimanager auf Deinem System hat.

Re: Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 09:53
von okliw994
@_blackjack_
Statt 'explorer' muss man auf dem Raspberry Pi 'pcmanfm' eintragen und ganz wichtig sind anscheinend auch die eckigen Klammern. Danke für deinen Tipp!
So funktionierts:

import subprocess

subprocess.Popen(['pcmanfm', '/home/pi/...'])

Re: Befehl um einen Ordner zu öffnen

Verfasst: Dienstag 18. Juni 2019, 10:03
von __deets__
Besser als einen konkreten Filemanager anzugeben ist es, xdg-open zu verwenden. Das benutzt dann die eingestellten Viewer. Fuer Verzeichnisse eben den Filemanager, aber man kann so auch gleich PDFs oder PNGs etc anzeigen lassen.