Datei ö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
Benutzeravatar
powered_by_coffee
User
Beiträge: 22
Registriert: Freitag 13. August 2010, 14:25

Wie man ansich eine Datei zum Schreiben oder Auslesen "öffnet" (open(), write() etc..), ist mir klar.
Aber ich möchte nun, dass sich die Datei auch in dem jeweiligen Programm öffnet.
Wenn ich z.B. in eine .txt Datei schreibe, soll sie sich anschließend auch im Editor öffnen.
Ist das einfach so möglich?

Mfg
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo.

Du suchst wohl os.startfile.
Das Leben ist wie ein Tennisball.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Generell: Nein, da es nicht das "jeweilige Programm" gibt.

Fuer Windows gibt es `os.startfile`.
Fuer KDE/Gnome/... koennte man sich mit MIME behelfen, die Assoziationen sind IIRC in irgendeinem Freedesktop-Standard geregelt.
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Unter Linux ware da auch noch $EDITOR... Wenn es um Text-basierte Dateien geht.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
BlackJack

Unter Linux könnte man auf `xdg-open` zurückgreifen. Das gehört AFAIK zum Freedesktop-Standard.
Benutzeravatar
powered_by_coffee
User
Beiträge: 22
Registriert: Freitag 13. August 2010, 14:25

Also es geht um ein kleines Web-Script. Das generiert ein bestimmten Inhalt. Diesen soll man denn als .txt Datei downloaden können.

Ich möchte den Inhalt nicht in eine bestehende Datei schreiben sondern quasi für den User eine .txt generieren, die er dann abspeichern kann.
In PHP geht sowas aber in Python weiß ich leider nicht so richtig.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Wie schaut denn dein Web-Skript aus? Wie es z.B. mit Bottle geht, wird hier beschrieben.

Grüße
Gerrit
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

in PHP geht es doch indem du einen Header mitschickst. In Python wird das sicher auch so gehen.
Benutzeravatar
vorstadtprolo
User
Beiträge: 9
Registriert: Mittwoch 30. Dezember 2009, 09:26

oder du öffnest die Datei so wie unten angegeben: Damit wird eine Textdatei namens "aha.txt" im Windows-Ordner "Downloads" über den Editor geöffnet. War das für dich hilfreich?

Code: Alles auswählen

import os
os.popen("cd C:\\Downloads")
os.popen("C:\\Downloads\\aha.txt")
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Leider hab ich kein Windows da, um das nachzupruefen, aber ich kann mir nicht vorstellen, dass das funktioniert. `os.popen` arbeitet mit ausfuehrbaren Programmen, nicht mit "normalen" Dateien.

Noch dazu geht es total an den Beduerfnissen des OP vorbei ..
BlackJack

Der erste Aufruf dürfte auch Unsinn sein, weil auch unter Windows das Arbeitsverzeichnis pro Prozess gilt und das ``cd`` einfach nur das Arbeitsverzeichnis des Kindprozesses ändert und dieser Kindprozess danach beendet wird. Ziemlich sinnfreie Aktion.
Antworten