Parsen von Dateien mit Python
Frage
Welche Art von Python-Objekten soll ich verwenden, um Dateien mit einer bestimmten Syntax zu analysieren? Auch welche Art von Schleife sollte gefolgt werden, durch die Datei zu machen. Sollte ein Pass ausreichend sein? Zwei, drei?
Lösung
Es hängt von der Grammatik. Sie können verwenden pyparsing stattdessen Ihre eigenen Parser zu implementieren. Es ist sehr einfach zu bedienen.
Andere Tipps
Sie sollten mehr Informationen über Ihre Ziele bieten ...
- Welche Art von Datei
- Welche Struktur? Tab getrennt? XML - wie
- Welche Art von Codierung?
- Was ist die Zielstruktur?
- Möchten Sie die Datei in einem regelmäßigen Zeitraum Analysepunkte benötigen (wie ein Dolmetscher)?
, wie komplex die Syntax? Sie einen neuen oder nicht?
erfindenfür eine komplexe Sprache, betrachtet Bison Bindungen wie lex + pybison.
Wenn Sie entscheiden können, was zu verwenden Syntax, versuchen YAML.
Es hängt nicht von Ihrer Programmiersprache (Python), wenn Ihr Parser ein, zwei, drei oder n Pässe hat. Es hängt von der Grammatik der Syntax, die Sie analysieren möchten.
Wenn die Syntax ist komplex genug, würde ich empfehlen, LEX / YACC Combo als Francis sagte.