WEB开发网
开发学院软件开发Python 可爱的 Python: 使用 SimpleParse 模块进行解析 阅读

可爱的 Python: 使用 SimpleParse 模块进行解析

 2008-11-13 13:16:18 来源:WEB开发网   
核心提示: 让我们研究完整的(简化)标记应用程序:typographify.pyimport osfrom sysimport stdin, stdout, stderrfrom simpleparseimport generatorfrom mx.TextToolsimport TextToolsi

让我们研究完整的(简化)标记应用程序:

typographify.py

     import
     os
    
     from
     sys
    
     import
     stdin, stdout, stderr
    
     from
     simpleparse
    
     import
     generator
    
     from
     mx.TextTools
    
     import
     TextTools
input = stdin.read()
decl = open(
    
     'typographify.def'
    ).read()
    
     from
     typo_html
    
     import
     codes
parser = generator.buildParser(decl).parserbyname(
    
     'para'
    )
taglist = TextTools.tag(input, parser)
    
     for
     tag, beg, end, parts
    
     in
     taglist[1]:
  
    
     if
     tag ==
    
     'plain'
    :
    stdout.write(input[beg:end])
  
    
     elif
     tag ==
    
     'markup'
    :
    markup = parts[0]
    mtag, mbeg, mend = markup[:3]
    start, stop = codes.get(mtag, (
    
     '<!-- unknown -->'
    ,
    
     '<!-- / -->'
    ))
    stdout.write(start + input[mbeg+1:mend-1] + stop)
stderr.write(
    
     'parsed %s chars of %sn'
     % (taglist[-1], len(input)))

上一页  1 2 3 4 5 6 7 8  下一页

Tags:可爱 Python 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接