Seite 1 von 1

txt. Datei in Ausgabefenster darstellen

Verfasst: Dienstag 4. Juli 2017, 23:23
von Merll
Servus!

ich versuche die ganze zeit eine txt. Datei im Ausgabefenster ausgeben zu lassen leider bekomme ich das nicht so gut hin die infos werden in der Konsole dargestellt aber leider nicht weiter an das Ausgabefeld gegeben.... kann mir vielleicht jemand helfen ?

LG!

Code: Alles auswählen

def. öffnenderauftragsliste():
	daten2 = open("D:/User.........txt","r")
	print (daten2.read())
	Ausgabefenster. insert (END, daten2)
	daten2.close
danke schon mal!

Re: txt. Datei in Ausgabefenster darstellen

Verfasst: Dienstag 4. Juli 2017, 23:44
von BlackJack
@Merll: Das ist nicht der Code den Du laufen lässt, denn das kommt nicht am Compiler vorbei.

Wenn Dein tatsächlicher Code so ähnlich aussieht: Du gibst per `print()` den Rückgaberwert der `read()`-Methode aus und im Textfeld das Dateiobjekt. Das ist ganz offensichtlich nicht das gleiche. Du musst auch im Textfeld den Inhalt der Datei ausgeben und nicht das Dateiobjekt. Dabei musst Du berücksichtigen das Du `read()` nicht einfach so zwei mal hintereinander aufrufen kannst, weil das den Zustand des Dateiobjekts verändert. Im besonderen den ”Zeiger” an das Ende der Datei setzt. Wenn Du den Dateiinhalt zweimal verwenden möchtest, bindest Du den Rückgabwert von `read()` am besten an einen Namen und verwendest den dann zwei mal.

Was soll die 2 beim Namen `daten2`?

Du solltest die Datei auch wieder schliessen — dazu muss man die `close()`-Methode auch *aufrufen*. Oder aber Du verwendest die ``with``-Anweisung zusammen mit `open()`.

`Ausgabefenster` kommt einfach so magisch aus dem nichts — das sollte nicht sein. Eine Funktion sollte nur Werte verwenden die diese Funktion als Argumente betreten haben. Ausnahme: Konstanten. Zudem sollte `Ausgabefenster` klein geschrieben werden, denn es ist keine Klasse. Beim Funktionsnamen fehlen UnterstrichezwischendenWörterndamitmandenbesserlesenkann. Der Name ist auch ein bisschen ungewöhnlich ausgedrückt. Üblicher wäre `aufragsliste_oeffnen()`.

Für eine sinnvolle GUI-Programmierung bei der man am Ende auch noch durchsteigt, braucht man objektorientierte Programmierung (OOP).