Textdatei durchsuchen

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.
flummi
User
Beiträge: 33
Registriert: Samstag 28. April 2012, 13:33

doch stand drin, habs nur direkt wieder vergessen... http://openbook.galileocomputing.de/pyt ... 15_002.htm hab das hier bis kapitel 17 gelesen aber nur an zwei tagen... und python von kopf bis fuß an einem tag. da behält man sicherlich nicht viel, aber es reicht um nicht nur hyroglyphen zu sehen....

deswegen will ich jetzt rumspielen um auch was zu behalten.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Das OpenBook ist *schlecht*. Vergiss also, dass es das gibt und nutze eines der hier empfohlenen Dokumente.

Wenn die Zahl einer Hand einen Schlüssel darstellt, dann gibt es bessere Datenstrukturen als Listen, um diese sinnvoll zu verwalten / zu nutzen. Welche überlasse ich Dir mal als kleine Übungsaufgabe ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
flummi
User
Beiträge: 33
Registriert: Samstag 28. April 2012, 13:33

Code: Alles auswählen

data = "Seat 1: Schlienz ($14.98 in chips)"
res = re.search(r":\s(?P<spieler>\w+)\s(",data)


Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "C:\Python27\lib\re.py", line 142, in search
    return _compile(pattern, flags).search(string)
  File "C:\Python27\lib\re.py", line 242, in _compile
    raise error, v # invalid expression
error: unbalanced parenthesis
ich wollte "Schlienz" durch
re.group ("spieler") kriegen...

da kommt ein leerzeichen nach ":" und vor "(" , deswegen hab ich jeweils einmal \s genommen. und "spieler" enthällt nur alphanumerische zeichen desweggen \w+

was läuft hier falsch?

*edit*

Code: Alles auswählen

res = re.search(r":\s(?P<spieler>\w+)\s\(",data)
hab nen backslash vergessen. weiß allerdings immer noch nicht wann man die setzen muss und wann nicht...
webspider
User
Beiträge: 485
Registriert: Sonntag 19. Juni 2011, 13:41

Die Fehlermeldung sagt dir es doch schon. Die letzte Klammer wird als Anfang eines Gruppennamens interpretiert und da keine schließende folgt, beschwert sich der Regex-Compiler darüber. Du musst ihm also klarmachen, dass du dieses Zeichen wortwörtlich nutzen willst, was auch als Escaping bekannt ist. Dafür tut man einen Backslash vor das fragliche Zeichen.

Ich wiederhole mich an der Stelle, aber bitte arbeite zumindest das offizielle Tutorial durch (und damit meine ich nicht nur es durchzulesen, sondern tatsächlich alles an verwendetem Code zumindest im interaktivem Modus auszuprobieren oder noch besser kleine Skripte schreiben und diese ausführen), sonst wird das nichts wenn du schon an solchen Kleinigkeiten strauchelst.
BlackJack

@flummi: Du solltest bei einem Buch vielleicht nicht als Ziel haben es möglichst schnell durch zu haben, sondern möglichst viel zu verstehen. Ein ≈450-Seiten Buch wie „Python von Kopf bis Fuss” kann man nicht einfach so an einem Tag durchlesen. Man muss das durch*arbeiten* und nicht einfach nur lesen was da steht. Man muss den Code selber ausprobieren, verändern, eigenen schreiben und schauen ob das erwartete Ergebnis heraus kommt, um zu sehen ob man verstanden hat, was man gelesen hat. Programmieren lernt man nicht in dem man möglichst schnell viele Bücher durch liest.
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@flummi: Was - und ich wiederhole mich hierbei - BlackJack gesagt hat.

Außerdem ist es vielleicht wiedermal angezeigt, hierauf zu verlinken. Wenn man in solchen Zeiträumen denkt, dann ist es egal, ob man drei Tage oder drei Monate für ein Buch braucht. Wichtig ist, ist dass man es versteht. Wenn länger zum Lesen brauchen == besser verstehen, dann sollte man erst recht nicht ungeduldig sein. Vielleicht gilt das ja nur für mich, aber gute Computer-Bücher sind für mich auch Unterhaltungsliteratur.
In specifications, Murphy's Law supersedes Ohm's.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

pillmuncher hat geschrieben:Vielleicht gilt das ja nur für mich, aber gute Computer-Bücher sind für mich auch Unterhaltungsliteratur.
Das Problem ist, dass durch das Aufkommen von "für Dummies" und "in X Tagen" und Büchern die von Autoren geschrieben sind die keine Ahnung haben, es immer weniger solche Bücher gibt. "Programming Python" zumindest die dritte Edition eignet sich eher zum Schmunzeln, wo sie den Python-Browser vorgestellt haben, der vor 10 Jahren verstorben ist. "Hauptsache dick" scheint die Devise zu sein. Das ist mir auch beim Tanenbaum aufgefallen - das Buch ist an sich schon gut, aber wenn man das blabla streichen würde wäre das Buch nur noch 1/3 so lang und deutlich besser.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten