Manuel

Parser e valutatore del documento
Scarica ora

Manuel Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • ZPL
  • Prezzo:
  • FREE
  • Nome editore:
  • Benji York
  • Sito web dell'editore:
  • http://pypi.python.org/pypi/manuel

Manuel Tag


Manuel Descrizione

Documento parser e valutatore Manuel è un modulo Python che analizza i documenti, valuta i loro contenuti, quindi formatta il risultato della valutazione. La funzionalità principale è accessibile attraverso un'istanza di un oggetto Manuel. Viene utilizzato per costruire la manipolazione di un tipo di documento. Ogni fase ha uno slot corrispondente a cui sono allegate varie implementazioni. >>> L'importazione ManuelparsingManuel funziona su documenti. Ogni documento viene creato da una stringa contenente una o più linee. >>> Source = "" "... Questo è il nostro documento, ha diverse linee. ... uno: 1, 2, 3 ... Due: 4, 5, 7 ... Tre: 3, 5, 1 ... "" ">>> Document = manuel.document (fonte) Ai fini di esempio creeremo un tipo di test che consiste in una sequenza di numeri, quindi consente di creare un oggetto numberstere per rappresentare l'elenco analizzato. >>> CLASS NUMERSTEST (oggetto): ... def __init __ (sé, descrizione, numeri): ... self.description = Descrizione ... self.numbers = Numbed Il documento è diviso in una o più regioni. Ogni regione è un distinto "blocco" del documento e sarà recitato Uppone nelle fasi successive (post-analizzate). Inizialmente il documento è composto da un singolo elemento, la stringa di origine. >>> Il documento offre un metodo "find_regions" per aiutare a localizzare le porzioni del documento a cui è interessato un particolare parser. Dato un'espressione regolare (sia come stringa, o compilata), restituirà gli oggetti "regione" che contengano oggetti Testo di origine abbinato, il numero di riga (basato su 1) inizia la regione, nonché l'oggetto Re.match associato. >>> Importa re >>> numeri_test_finder = re.compile (... r '^ (? P. *?): (? P (D +,? []?) +) $', re.mulline) >> > Regioni = Document.Find_regions (Numbers_test_Finder) >>> Regioni >>> Regioni .lineno 2 >>> Regioni .source 'One: 1, 2, 3 '>>> regioni .start_match.group (' Descrizione ')' one '>>> regioni .start_match.group (' numeri ')' 1, 2, 3'F Data due espressioni regolari find_regioni Usa il primo a identificare l'inizio di una regione e il secondo per identificare la fine. >>> Regione = document.find_regions (... re.compile ('^ one :. * $', re.multiline), ... re.compile ('^ tre :. * $', re.multiline) , ...) >>> Regione.Lineno 2 >>> Regione di stampa.source one: 1, 2, 3 Due: 4, 5, 7 tre: 3, 5, 1Also, invece di solo a "Start_match "Attributo, la regione avrà gli attributi Start_match e End_Match. >>> Region.Start_Match <_sresre_match object at 0x>>>> Regione.End_Match <_sresre_match object at 0x> Le regioni devono sempre consistono in linee intere. >>> Document.Find_regions ('1, 2, 3') Traceback (ultima chiamata più recente): ... ValisEVror: le regioni devono iniziare dall'inizio di una linea. >>> Document.Find_regions ('tre') Traceback (più recente call last): ... ValisEVror: le regioni devono terminare alla fine di una linea. >>> document.find_regions (... re.compile ('ne :. * $', re.multiline), ... re.compile ('^ one :. * $', re.mulline), .. .) Traceback (più recente chiamata ultima): ... ValisEVror: le regioni devono iniziare dall'inizio di una linea. >>> document.find_regions (... re.compile ('^ one :. * $', re.multiline), ... re.compile ('^ tre:', re.multiline), ...) Traceback (ultima chiamata più recente): ... ValueError: le regioni devono terminare alla fine di una linea. Ora possiamo registrare un parser che identificherà le regioni che ci interessano e crea oggetti numberst dal testo sorgente. >>> DEF Parse (Document): ... per regione in document.find_regions (numbers_test_finder): ... Descrizione = region.start_match.group ('Descrizione') ... numeri = mappa (... int, regione .start_match.group ('numeri'). Split (',')) ... test = numberstest (descrizione, numeri) ... document.replace_region (regione, test) >>> Parse (documento) >>> >>> Requisiti: · Python. Cosa c'è di nuovo in questa versione: · Correggere un bug che ha causato istanze di zope.testin.doctest.esempio (e istanze di sottoclassi della stessa) da ignorare silenziosamente


Manuel Software correlato