Seite 1 von 1
Text aus Datei laden??
Verfasst: Mittwoch 27. Dezember 2006, 15:43
von pantoffeltierchen
Hi,
ich habe ein kleines Programm, und das soll mittels Button aus einer Datei (.txt, .doc.....) ein Text importieren. und dann ins Entry Fenster laden.
Danke.
Verfasst: Mittwoch 27. Dezember 2006, 16:04
von Leonidas
Eine Datei öffnen kannst du mit file(), das zurückgelieferte Objekt hat eine .read()-Funktion, die dir den Inhalt der Datei liefert.
Verfasst: Mittwoch 27. Dezember 2006, 16:20
von pantoffeltierchen
ich dachte das man das grafisch lösen könnte?
Verfasst: Mittwoch 27. Dezember 2006, 16:41
von Joghurt
Kann man, dafür muss du aber eine GUI-Library nutzen, z.B. wxWidgets (wxPython), GTK oder Tcl/Tk (Tkinter).
Siehe auch die entsprechenden Foren hier.
Verfasst: Mittwoch 27. Dezember 2006, 17:08
von Leonidas
pantoffeltierchen hat geschrieben:ich dachte das man das grafisch lösen könnte?
Wie willst du das lesen von Dateien denn grafisch lösen? Du kannst den Inhalt der Dateien in einem grafischen Fenster anzeigen, in einem von dir gewählten Toolkit, aber so etwas wie "Dateien grafisch öffnen" gibts schlichtweg nicht - macht ja auch keinen Sinn.
Verfasst: Mittwoch 27. Dezember 2006, 17:25
von sape
Jepp, Leonidas hat vollkommen recht! Das einzige was du machen kannst ist z.B. über eine Dataiauswahlbox die Datei anzuklicken. Aber öffnen muss du das schon so wie Leonidas das meinte.
Hier ein Auszug aus einem (noch nicht fertigen) Programm von mir, das für die GUI wxPython nutzt.
Code: Alles auswählen
def OpenFile(self, event):
# File-Dialog erzeugen.
dlg = wx.FileDialog(
self,
message = "Datei öffnen",
defaultDir = os.getcwd(),
defaultFile = "",
wildcard = "Python source (*.py;*.pyw)|*.py;*.pyw",
style = wx.OPEN | wx.CHANGE_DIR
)
# Wenn Datei ausgewählt und [OK] gedrückt...
if dlg.ShowModal() == wx.ID_OK:
# ...dann den Pfad zur ersten ausgewählte Datei ([0]) holen...
path = dlg.GetPaths()[0]
# Wenn nicht mit [OK] bestätigt dann beenden.
else:
return
# Dialog schließen.
dlg.Destroy()
# Inhalt der Datei laden und Datei danach schließen.
f = open(path, "r")
src = f.readlines()
f.close
`path` enthält nach der Auswahl der Datei, in dem Dateiauswahldialog, den Path + namen der Datei die geöffnet werden soll. öffnen muss man das dann nachher mit `file()` bzw. `open()`...
Sorry, Kurz OT: `open()` vs. `file()`. Eigentlich egal oder?
lg
Verfasst: Freitag 29. Dezember 2006, 10:11
von Joghurt
lunar hat geschrieben:Also ich finde diesen Hinweis trotz seiner Korrektheit etwas pingelig
Für die Diskussion um den Namen ist es doch irrelevant, ob das nun ein Konstruktor oder eine Datei ist...
Im Prinzip hast du in beiden Punkten recht. Hier wurde jedoch (unabsichtlich) eine Falschaussage gemacht, und besonders bei Anfängern finde ich es hilfreich, exakt zu sein, da es schwieriger ist, einmal Erlerntes wieder zu korrigieren.
Und da das hier eine Anfängerfrage war, finde ich es wichtig, solche Aussagen sofort zu korrigieren, bevor sie sich irgendwo im Hinterköpfchen festsetzen.
Edit (Leonidas): In den Thread file() vs. open() gesplittet. Und prompt wieder einen Post übersehen. Sorry, Joghurt, war keine Absicht, aber das kann ich nicht mehr so einfach reparieren ohne phpBB zu zerlegen 