Manueller

Dokumentparser und -auswerter
Jetzt downloaden

Manueller Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • ZPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Benji York
  • Website des Verlags:
  • http://pypi.python.org/pypi/manuel

Manueller Stichworte


Manueller Beschreibung

Dokument-Parser und Evaluator Manuel ist ein Python-Modul, das Dokumente parst, deren Inhalte auswertet, dann formatiert das Ergebnis der evaluation.The Kernfunktionalität wird durch eine Instanz eines Objekts Manuel abgerufen. Es wird verwendet, um die Handhabung eines Dokumententyps aufzubauen. Jede Phase hat einen entsprechenden Schlitz auf die verschiedenen Implementierungen angebracht sind. >>> import manuelParsingManuel arbeitet auf Dokumente. Jedes Dokument wird aus einer Zeichenfolge erstellt, die eine oder mehr Zeilen. >>> source = ""... Dieses Dokument ist unser es mehrere Linien hat ... one. 1, 2, 3 ... zwei: 4, 5, 7 ... drei: 3, 5, 1 ... >>> document = manuel.Document (Quelle) zum Beispiel Zwecken erstellen wir eine Art von Test, die so aus einer Folge von Zahlen besteht lets NumbersTest-Objekt erstellen, die geparsten Liste darzustellen. >>> Klasse NumbersTest (object): ... def __init __ (self, Beschreibung, Zahlen): ... self.description = description ... self.numbers = numbersThe Dokument wird in einen oder mehrere Bereiche unterteilt. Jede Region ist ein deutliches chunk des Dokuments und wird uppon in späteren (post-Parsing) Phasen gehandelt werden. Zunächst wird das Dokument aus einem einzigen Elemente aus, die Quellzeichenfolge. >>> Das Dokument bietet einefind_regionsMethode zu helfen, die Teile des Dokuments Lokalisieren eines bestimmten Parser interessiert ist. Bei einem regulären Ausdruck (entweder als String oder kompiliert), wird esRegionObjekte zurück, die die enthalten abgestimmte Ausgangstext, die Zeilennummer (1 basiert) die Region an beginnt, sowie das zugehörige re.match Objekt. >>> import re >>> numbers_test_finder = re.compile (... r '^ (P. *):??? (P (d + ,? []) +) $', re.MULTILINE) >> > Regionen = document.find_regions (numbers_test_finder) >>> Regionen >>> Regionen .lineno 2 >>> Regionen .source one: 1, 2, 3 '>>> Regionen .start_match.group (' description ') 'Eins' >>> Regionen .start_match.group (' Zahlen), 1, 2, 3'If gegeben zwei reguläre Ausdrücke find_regions wird verwenden, um die erste der Anfang eines Bereichs und des zweiten Endes zu identifizieren, die zu identifizieren. >>> region = document.find_regions (... re.compile ( '^ ein:. * $', Re.MULTILINE), ... re.compile ( '^ drei:. * $', Re.MULTILINE) , ...) >>> region.lineno 2 >>> print region.source ein: 1, 2, 3 zwei: 4, 5, 7 drei: 3, 5, 1Also, statt nur ein start_match "Attribut wird die Region start_match und end_match Attribute haben. >>> region.start_match <_sresre_match objekt an 0x> >>> region.end_match <_sresre_match objekt an 0x> Regionen müssen immer ganzer Linien bestehen. >>> document.find_regions ( 1, 2, 3) Traceback (jüngste Aufforderung zuletzt): ... Valueerror: Die Regionen müssen am Anfang einer Zeile beginnen. >>> document.find_regions ( drei) Traceback (jüngste Aufforderung zuletzt): ... Valueerror: Regionen an dem Ende einer Zeile enden. >>> document.find_regions (... re.compile ( 'ne:. * $', Re.MULTILINE), ... re.compile ( '^ ein:. * $', Re.MULTILINE), .. Traceback) (jüngste Aufforderung zuletzt):. ... Valueerror: die Regionen müssen am Anfang einer Zeile beginnen. >>> document.find_regions (... re.compile ( '^ ein:. * $', Re.MULTILINE), ... re.compile ( '^ drei:' re.MULTILINE), ...) Traceback (jüngste Aufforderung zuletzt): ... Valueerror: die Regionen müssen bei der Beendigung eines line.Now beenden wir einen Parser registrieren können, die die Regionen identifizieren wir interessiert sind und erstellen NumbersTest aus dem Quelltext-Objekte. >>> def Parse (document): ... für Region in document.find_regions (numbers_test_finder): ... description = region.start_match.group ( 'description') ... Zahlen = map (... int, Region .start_match.group ( 'Zahlen'). split ( '')) ... test = NumbersTest (Beschreibung, Zahlen) ... document.replace_region (Region, Test) >>> Parse (document) >>> >>> Voraussetzungen: · Python Was ist neu in dieser Version: · Einen Fehler beheben, die Instanzen von zope.testin.doctest.Example (und Instanzen von Subklassen von derselben) verursachte stillschweigend ignoriert werden


Manueller Zugehörige Software