Strings???
Habe doch noch ein Problem gefunden das ganze Sieht so aus...
in der datei steht:
-blaa
-blub
1
2
3
ausgabe ist 3 warum?
Code: Alles auswählen
pfad = "c:/"
dateiname="test.txt"
datei = pfad+dateiname
in_file = open(datei,"r")
text = in_file.read()
in_file.close()
text=("\n".join(t for t in text.splitlines() if not t.startswith("-")))
zeilen = [t for t in text.split() if not t[0] in "-1x"]
test=zeilen[1]
print(test)
-blaa
-blub
1
2
3
ausgabe ist 3 warum?
was willst du bei text in splitten ?
Lass es weg und es geht, obwohl man die Form des ganzen etwas besser gestalten könnte.
Code: Alles auswählen
zeilen = [t for t in text.split() if not t[0] in "-1x"]
Lass es weg und es geht, obwohl man die Form des ganzen etwas besser gestalten könnte.
Zuletzt geändert von Xynon1 am Montag 1. November 2010, 16:11, insgesamt 1-mal geändert.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Weil Zeilen mit "-" oder "1" doch rausgefiltert werden (sollten). Also ist in der Liste das 2. Element (über den Index 1 zu erreichen) eben die "3". Das erste Element ( Index = 0) ist dann eben die "2".luki19 hat geschrieben: in der datei steht:
-blaa
-blub
1
2
3
ausgabe ist 3 warum?
Du solltest wirklich mal ein Tutorial durcharbeiten; das sind doch einfache Basics.
zum Code:
- Pfade setzt man nicht mit "+" zusammen, dafür gibt es die Funktion join() aus dem os.path-Modul.
- Dateien öffnet man mit diesem Konstrukt:
Code: Alles auswählen
with open(filename, "r") as infile:
text = infile.read()
# die Datei wird automatisch geschlossen
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Das eigentliche Problem ist, dass du ohne wirklich zu verstehen, was du tust, mittels trial & error herumbastelst und damit mehr oder weniger deinem Ziel näher kommst. Wie dir schon geraten wurde, solltest du dir Zeit für die Lektüre eines Tutorials nehmen. Dann kannst du dein Problem in ein paar Stunden (oder auch Tagen) allein lösen. Vermutlich sieht es dann nicht so aus, wie diese Zeile,luki19 hat geschrieben:Habe doch noch ein Problem gefunden das ganze Sieht so aus...
Code: Alles auswählen
words = " ".join(t for t in text.splitlines() if not t[0] in "-1x").split()
Das macht aber nichts und du hättest das gute Gefühl dabei, es selbst hinbekommen zu haben, statt nur irgendwelche Schnipsel unverstanden neu zusammenzusetzen.