Externe Dateien mit Sysspezif. Programm ö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
theroot
User
Beiträge: 4
Registriert: Dienstag 3. Juni 2008, 13:40

Dienstag 3. Juni 2008, 13:55

Moin Leute,

Sorry schonmal im Vorraus: Ich habe gesucht, google, Python referenz und hier . Hab aber nichts gefunden.

Also, mein Problem ist, dass ich eine beliebige Textdatei habe. Sagen wir mal: test.txt. Diese befindet sich im selben Ordner wie das Python Programm.

Mein Problem liegt darin, dass ich nichts finde, was das Programm mit einem externen Editor öffnet. Heißt, ich klicke im py-Progamm auf einen Button test und er öffnet unter win die Datei mit dem Editor oder unter Linux mit, beispielsweise, Kate.
Diese Funktion muss auf Linux und Windows funktionieren.

Kann mir bitte jemand weiterhelfen?
P.s.: Die brain.exe habe ich auch ausgeführt :P :twisted:

lG
shakebox
User
Beiträge: 175
Registriert: Montag 31. März 2008, 17:01

Dienstag 3. Juni 2008, 14:19

am Mac waere das recht einfach mit dem Terminal-Kommando 'open', der sozusagen den Doppelklick im Finder simuliert. Dann wuerde die Datei mit dem Programm aufgemacht das der User als Standardprogramm fuer die jeweilige Dateiendung angegeben hat.

Leider gibt es das ja in der Form nicht direkt unter Windows und Linux.

Ist denn definiert, welche Programme das sein sollen auf der jweiligen Plattform und dass die vorhanden sind oder soll das flexibel sein, je nachdem was installiert ist?
lunar

Dienstag 3. Juni 2008, 14:32

Für Windows gibt es ``os.startfile``, dass die Dateiverknüpfungen auswertet, und unter Linux das Tool ``xdg-open``, das zumindest bei LSB-kompatibelen Desktop-Umgebungen funktioniert, in dem es das passende Tool aufruft. Zur Zeit sind das Xfce, Gnome und KDE.

Außen vor bleiben natürlich alle anderen Window-Manager. Allerdings kennen die sowas wie "Dateiverknüpfungen" auch gar nicht. Dort sieht der Arbeitsablauf eben anders aus: Das Programm wird gestartet, und dann die Datei geöffnet.

Falls es nur um das Bearbeiten einer Textdatei geht, so ist die ``$EDITOR`` Variable das Richtige.

Was willst du denn überhaupt anstellen? Mit Ausnahme von Editoren muss man in den seltensten Fällen Dateien öffnen lassen, viel besser ist es, diese Wahl dem Nutzer zu überlassen, da die Wahl der richtigen Anwendung nich nur vom Dateityp, sondern auch vom Zweck abhängt, zu welchem die Datei geöffnet wird.
theroot
User
Beiträge: 4
Registriert: Dienstag 3. Juni 2008, 13:40

Dienstag 3. Juni 2008, 15:48

Soll soviel bewirken, dass wenn man auf einen Button "Help" drückt,
sich ein Programm (oder wenn ein Fenster besser ist) öffnet und e. Hilfedatei
anzeigt. In dem Fall eines ext. Programmes eine *.txt Datei.

lG
lunar

Dienstag 3. Juni 2008, 15:52

Du willst eine _Hilfedatei_ mit einem _Texteditor_ anzeigen??

Ich würde ja eine HTML-Datei erstellen und diese mit dem ``webbrowser``-Modul öffnen.

Und für eine einfache Textdatei tut es in der Regel ein eingebauter Dialog.
theroot
User
Beiträge: 4
Registriert: Dienstag 3. Juni 2008, 13:40

Dienstag 3. Juni 2008, 16:05

Dankeschön :)

Würde ich eigentlich auch machen, ist aber mehr eine Behilfslösung, da es ein kleines Programm ist, für welche sich der Aufwand einer HTML Datei nicht lohnen würde.

lG
theroot
User
Beiträge: 4
Registriert: Dienstag 3. Juni 2008, 13:40

Dienstag 3. Juni 2008, 17:48

Läuft ^^
Habe das ganze mit nem Text widget und nem Textfile geregelt.
Natürlich mit Schreibschutz im widget :D
Danke nocheinmal an alle, die mir geholfen haben.

lG
Antworten