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.
Ich habe ein kleines Problem:
Ich möchte ein Programm schreiben das Wörter generiert, leider ist in einer *.txt die ich dazu lade hinter jdem wort ein "/n" so kann man z.B. nicht
"HansPeter" schreiben daraus wird->
Hans
Peter
Hier der code bisher
import random
print ""
print "----------------"
print "Namengenerator"
print "----------------"
print ""
a = input("? ")
b = open ("namen.txt", "r")
c = open ("danach.txt", "w")
d = 1
while a >= d:
So da du fragtest was das programm macht:
Es liest (sollte) eine Datei aus und speichert das ausgelesene mit einem anhang in der anderen *.txt Datei.
Das Problem besteht darin das immer (nach jedem Wort) eine neue Zeile angefangen wird.
(Meine Rechtschreibung ist nicht prickelnd ich weiß)
Denk dir mal bessere Namen für Varaiblen aus. Generell ist PEP8 eine schöne Sache. Wenn du noch Anfänger bist, hilft es auf einen Schmierzettel in Stichworten aufzuschreiben, was das Programm machen soll und in welcher Reihenfolge das passieren soll.
Datei lesen
Inhalt der Datei in Variable `file_before` speichern
Inhalt der Variable `file_before` ausgeben
Datei schließen
mit raw_input() Benutzereingabe entgegennehmen und in Variable `to_file` speichern
`to_file` in Datei schreiben (modus "a")
Datei schließen
Das [wiki=Tutorial/with]with-statement[/wiki] ist sehr nützlich, wenn man mit Dateien arbeitet. Wenn ich dich falsch versanden hab, einfach Bescheid sagen
Und was soll das bringen, wenn man nicht weiß, woher die Datei kommt oder ein "unpassendes" Betriebssystem benutzt?
Wenn's robust sein soll, mit `line.strip()` allen Whitespace wegwerfen und gut. Die Daten dürften anschließend in einer Liste landen, daher ist das mit dem `.replace()` keine so passende Idee; für die *spätere* Darstellung dürfen dann gerne der `%`-Operator und/oder `.join()` verwendet werden.
`readlines()` oder `readlines(False)` liest eine Textdatei zeilenweise und entfernt die Zeilenendzeichen. `readlines(True)` lässt sie stehen. Die erste Variante ist, was man haben will. `readlines` ist eine Methode von `file`, dem Objekt, was `open()` zurückliefert.