manuel.

analisador e avaliador de documentos
Baixe Agora

manuel. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • ZPL
  • Preço:
  • FREE
  • Nome do editor:
  • Benji York
  • Site do editor:
  • http://pypi.python.org/pypi/manuel

manuel. Tag


manuel. Descrição

Analisador e avaliador de documentos Manuel é um módulo Python que analisa documentos, avalia seu conteúdo e, em seguida, formata o resultado da avaliação. A funcionalidade principal é acessada por meio de uma instância de um objeto Manuel. É usado para construir o manuseio de um tipo de documento. Cada fase tem um slot correspondente para o qual várias implementações são anexadas. >>> Importar Manuelparsingmanuel opera em documentos. Cada documento é criado a partir de uma string contendo uma ou mais linhas. >>> Fonte = "" "... Este é o nosso documento, tem várias linhas. ... Um: 1, 2, 3 ... Dois: 4, 5, 7 ... Três: 3, 5, 1 ... "" "" >>> documento = Manuel.Document (fonte), por exemplo, criaremos um tipo de teste que consiste em uma sequência de números, então permita criar um objeto numberstest para representar a lista analisada. >>> Classe Numberstest (Object): ... def __init __ (auto, descrição, números): ... self.description = Descrição ... self.numbers = Números O documento é dividido em uma ou mais regiões. Cada região é um "pedaço" distinto do documento e será agido em fases posteriores (pós-parsing). Inicialmente, o documento é composto de um único elemento, a cadeia de origem. >>> O documento oferece um método "find_regions" para ajudar na localização das partes do documento que um parser específico está interessado. Dada uma expressão regular (seja como uma string ou compilada), ela retornará os objetos "região" que contêm Texto de origem correspondente, o número da linha (1 baseado) A região começa, bem como o objeto Re.Match associado. >>> Import RE >>> NÚMEROS_TEST_FINDER = RE.compile (... R '^ (? P. *?): (? p (D + ,? []?) +) $', re.multiline) >> > Regiões = document.find_regions (numbers_test_finder) >>> Regiões >>> regiões .lineno 2 >>> regiões .Source 'um: 1, 2, 3 '>>> regiões .start_match.group (' description ')' One '>>> regiões .start_match.group (' Números ')' 1, 2, 3's Dadas duas expressões regulares Find_regions Use o primeiro para identificar o início de uma região e o segundo para identificar o fim. >>> Região = Document.find_regions (... RE.compile ('^ um:. * $' ', re.multiline), ... RE.compile (' ^ três: * $ ', re.multiline) ...) >>> região.lineno 2 >>> Imprimir região.Source um: 1, 2, 3 dois: 4, 5, 7 três: 3, 5, 1anto, em vez de apenas um "start_match "Atributo, a região terá attributos start_match e end_match. >>> região.start_match <_sresre_match object em 0x> >>> region.end_match <_sresre_match o objeto em 0x> regiões devem sempre consistir em linhas inteiras. >>> Document.find_regions ('1, 2, 3') Traceback (mais recente chamada): ... ValueError: regiões devem começar no início de uma linha. >>> document.find_regions ('três') Traceback (mais recente chamada): ... ValueError: regiões deve terminar no final de uma linha. >>> document.find_regions (... RE.compile ('NE:. * $' ', re.multiline), ... RE.compile (' ^ um: * $ ', re.multiline), .. .) Traceback (última chamada recente): ... ValueError: As regiões devem começar no início de uma linha. >>> document.find_regions (... RE.compile ('^ One:. * $', re.multiline), ... RE.compile ('^ três:', re.multiline), ...) Traceback (última chamada recente): ... ValueError: Regiões deve terminar no final de uma linha.Agora, podemos registrar um analisador que identificará as regiões que estamos interessados e criaremos números numberstest do texto da origem. >>> Def Parse (documento): ... para região em document.find_regions (Number_test_finder): ... Description = regi.start_match.group ('Description') ... Números = mapa (... int, região .start_match.group ('números'). Split (',')) ... teste = numberstest (descrição, números) ... document.replace_region (região, teste) >>> Parse (documento) >>> >>> Requisitos: · Pitão O que há de novo nesta versão: · Corrigir um bug que causou instâncias de zope.testin.doctest.example (e instâncias das subclasses do mesmo) a serem ignoradas silenciosamente


manuel. Software Relacionado