Datei schreiben und lesen

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

@zar1: Ich denke Du hast es noch nicht verstanden, es liegt nicht an der Anzahl der Elemente, auch Sirius3 hat da nur *zwei* eingegeben, sondern das bei Deinem Format das Trennzeichen selbst nicht in den Elementen vorkommen darf. Du musst das mindestens vor dem schreiben verhindern, am besten schon bei der Eingabe, sonst ist Dein Programm eben doch fehleranfällig.
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

Ok das mit dem einschreiben hat geklappt! :)

Code: Alles auswählen

#!/usr/bin/python3

f = open("f.txt","w")
eingabe = input()
f.write(eingabe)
f.close()
Aber wie kann ich den Inhalt der Datei einzeigen lassen?
so müsste der Code doch anfangen:

Code: Alles auswählen

f = open("f.txt", encoding="utf8")
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

nfehren hat geschrieben:Aber wie kann ich den Inhalt der Datei einzeigen lassen?
Wenn man nach der durchaus recht informativen offiziellen Dokumentation geht, dann könnte man readline verwenden.
nfehren
User
Beiträge: 98
Registriert: Donnerstag 31. Oktober 2013, 15:11

/me hat geschrieben:
nfehren hat geschrieben:Aber wie kann ich den Inhalt der Datei einzeigen lassen?
Wenn man nach der durchaus recht informativen offiziellen Dokumentation geht, dann könnte man readline verwenden.
das ist leider für Python 2 habe Python 3 :?

Edit:
Habe eine gute Doku gefunden
http://www.tutorialspoint.com/python/file_readline.htm

mein Code sieht jetzt so aus:

Code: Alles auswählen

f = open("f.txt","w")
eingabe = input()
f.write(eingabe)
f.close()

f = open("f.txt","r", encoding="utf8")
line = f.readline()
print("Read Line: %s" % (line))
mcdwerner
User
Beiträge: 113
Registriert: Donnerstag 7. Juli 2011, 14:27

der Unterschied zwischen 2 und 3 ist die 2 und die 3 in der URL ;-)
http://docs.python.org/3/library/stdtyp ... e.readline
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

nfehren hat geschrieben:das ist leider für Python 2 habe Python 3 :?
Dir ist nicht der Gedanke gekommen, dass diese Funktion auch in Python 2 verfügbar sein könnte? Du hast nicht auf der Python-Website gesucht? Du hast nicht mal auf der Webseite gesucht? :shock:

Wenn du auf der Seite ganz nach oben scrollst kannst du die von dir verwendete Pythonversion auswählen.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Dateien solltest Du *immer* so öffnen:

Code: Alles auswählen

with open(...) as handle:
    # handle steht die in diesem Block als file-Object zur Verfügung
    # Du brauchst ``handle.close`` nicht mehr manuell aufrufen
    # dies wird auch im Fehlerfall automatisch erledigt
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten