Seite 1 von 1

Adressbuch

Verfasst: Mittwoch 15. Juli 2009, 22:59
von Obelix09
Mein Problem ist ,dass ich nicht weiß wie ich Text in eine einzelne Zeilen von einer Datei schreiben und lesen kann ):

Code: Alles auswählen

#Obelix09 Adressbuch und Telefondingenskichens#
#Version 0.001-Alpha#
#AUTOREN: Obelix09#
#Entwickelerteam Käsekuchen#
#Bemerkungen*************#


namenseingabe = ""
name    = ("name : ")
eingabe = ""

print ("bitte gib um eine Person in das Adressbuch hinzuzufügen neu ein")
print ("bitte gib suche ein")
eingabe = raw_input("")


#Suchblock#
if eingabe == "suche":
    print ("bitte gib den namen der gesuchten Person ein")
    eingabe = raw_input("")
    print eingabe

#Hier unten ist das Problem Ich krige es einfach nicht gebacken den Text richtig in eine Zeile zu schreiben ):#


if eingabe == "neu":
    print ("bitte gib den namen der person ein")
    name = raw_input("")
    fobj = open(name, "w+")
    data = file(name, "w+")
    data.write(split2)
    data.close()[code=py]
[/code]

Verfasst: Mittwoch 15. Juli 2009, 23:02
von DasIch
Du liest die Datei einfach ein und schreibst sie komplett neu.

Verfasst: Donnerstag 16. Juli 2009, 01:01
von EyDu
Noch ein paar Anmerkungen:
- Bei Zuweisungen kommen auf jede Seite des Gleichheitszeichen genau ein Leerzeichen. Eine Einrückung, bei welcher alle Gleichheitszeichen übereinander stehen ist recht ungewöhnlich.
- Beim "print" solltest du die Klammern weglassen, da es eine Statement ist und keine Funktion.
- "raw_input" kannst du Text übergeben, welcher angezeigt werden soll. Das spart das ein oder andere "print" ein.
- "eingabe" ist ein recht nichtssagender Name, den solltest du aussagekräftiger wählen.
- Code gehört nicht auf Modul-Ebene, da deine Module sonst nicht importiert werden können. Benutze daher Funktionen und den 'if __name__ == "__main__"'-Guard.
- Dateien sollten mit "open" geöffnet werden, nicht mit "file". Man sollte sie auch wieder schließen. Viel wichtiger ist aber, dass man nicht die selbe Datei zweimal zur selben Zeit zum Schreiben öffnet.
- Deine ausgegebenen Texte vermischen wild Groß- und Kleinschreibung
- Benutze mal die Forumssuche nach "Adressbuch", da finden sich noch ein paar gute Anregungen.

Verfasst: Donnerstag 16. Juli 2009, 07:30
von /me
EyDu hat geschrieben: - Beim "print" solltest du die Klammern weglassen, da es eine Statement ist und keine Funktion.
Diese Aussage ist für neue Python-Versionen falsch (siehe auch http://www.python-forum.de/viewtopic.ph ... bbcf527c1c)

Gruß,
Matthias

Verfasst: Donnerstag 16. Juli 2009, 08:05
von cofi
/me hat geschrieben:Diese Aussage ist für neue Python-Versionen falsch (siehe auch http://www.python-forum.de/viewtopic.ph ... bbcf527c1c)
Na besser siehe: http://docs.python.org/3.0/whatsnew/3.0 ... a-function

Der OP zeigt aber durch die Verwendung von ``raw_input``, dass es sich nicht um Python 3.,x handelt ;)