Adressbuch

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
Obelix09
User
Beiträge: 4
Registriert: Samstag 13. Juni 2009, 17:50

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]
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Du liest die Datei einfach ein und schreibst sie komplett neu.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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.
Das Leben ist wie ein Tennisball.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

/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 ;)
Antworten