Seite 1 von 1

\n und \\n und \n\n aus Datei entfernen

Verfasst: Sonntag 28. Juni 2015, 07:06
von Lena
Hallo!

Ich nehme an, für euch ist das eine einfache Frage^^
Ich lasse in meinem Programm eine Datei öffnen und lesen. Der Inhalt wird in eine Liste gepackt. Nur habe ich das Problem, das eben auch die Leerzwichen und die Newlines in der Liste als Element vorhanden sind. An sich ist das nicht schlimm, jedoch wird nachher mit random ein Element aus der Liste ausgewählt. Damit dieses Element dann eben nicht so Charakter hat, möchte ich mit einer while Schleife veranlassen, dass in einem solchen Fall nochmal ausgewählt wird. Jedoch habe ich schon einieg Varianten ausprobiert , um newlines wegzubekommen. Ich finde jedoch nicht den richtigen reg. Ausdruck oder die Schreibweise....

Code: Alles auswählen


while losung=="" or losung=="\\n" or losung==("\n\n"*):
       zahl=len(einzel)
       raus=random.randint(0,zahl)
       befehl=einzeö[raus]
 print(befehl)
   

es geht eig nur um die Formulierung in der while-zeile....

Würd mich über antworten freuen!!!

Re: \n und \\n und \n\n aus Datei entfernen

Verfasst: Sonntag 28. Juni 2015, 08:30
von Sirius3
@Lena: hast Du jetzt Dein Pflanzenprojekt aufgegeben oder hängt das immer noch alles zusammen? Es gilt immer noch das in den anderen Threads bereits gesagte: Lern erstmal die Grundlagen von Python. Mit dem gezeigten Code kann niemand etwas anfangen. Das ist kein syntaktisch richtiges Python, die Schleife wird entweder nie oder endlos durchlaufen, weil losung innerhalb von while nicht geändert wird. Statt randint solltest Du randrange nehmen, weil Du sonst einen Indexerror bekommst und statt randrange und den Zeilen 3 bis 5 solltest Du random.choice nehmen. Woher kommen losung, einzel und einzeö?
Was für eine Datei wird da wie gelesen?

Re: \n und \\n und \n\n aus Datei entfernen

Verfasst: Sonntag 28. Juni 2015, 08:39
von Lena
das ist ja nur ein Ausschnitt und einzeö ist ein Tippfehler....wie gesagt es geht nur um die Reg. Ausdrücke mit "\n" und "\\n"...den Rest krieg ich hin...

Re: \n und \\n und \n\n aus Datei entfernen

Verfasst: Sonntag 28. Juni 2015, 09:58
von Sirius3
@Lena: Dein Ansatz ist falsch. Zum einen brauchst Du keine regulären Ausdrücke, sondern strip, zum anderen ist es schlecht, ungefilterten Text aus einer Datei zu lesen und jedesmal wenn man den Inhalt braucht, umständlich zu filtern. Schon beim Einlesen müssen die Daten in eine Form gebracht werden, die für die spätere Benutzung geeignet ist. Daher die Frage, wo und wie Du die Datei liest.

Re: \n und \\n und \n\n aus Datei entfernen

Verfasst: Sonntag 28. Juni 2015, 13:15
von Kebap
Wie auch anderswo nochmal der Tipp: Benutze einfach JSON und hör auf, das Rad neu zu erfinden.. :mrgreen: