Befehl um einen Ordner zu öffnen

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
okliw994
User
Beiträge: 26
Registriert: Dienstag 11. Juni 2019, 09:49

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
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Hey, das geht z.B. mit subprocess


unter Windows:

Code: Alles auswählen

import subprocess



subprocess.Popen(r'explorer "C:\Users\xxx\Documents\"')
okliw994
User
Beiträge: 26
Registriert: Dienstag 11. Juni 2019, 09:49

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...
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
okliw994
User
Beiträge: 26
Registriert: Dienstag 11. Juni 2019, 09:49

@_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/...'])
__deets__
User
Beiträge: 14542
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Antworten