WEB开发网
开发学院软件开发Python 可爱的 Python:使用状态机 阅读

可爱的 Python:使用状态机

 2007-03-29 12:01:01 来源:WEB开发网   
核心提示: 或者,如果愿意,可爱的 Python:使用状态机(4),可以使用单个 current_section 变量来确定位置:处理 .INI 文件的计算 Python 代码for linein open('hypothetical.ini').readlines():if line

或者,如果愿意,可以使用单个 current_section 变量来确定位置:

处理 .INI 文件的计算 Python 代码          
     for
     line
          
     in
     open(
    'hypothetical.ini').readlines():
          
     if
     line[0] ==
    '[':
current_section = line(1:-2)
          
     elif
     line[0] ==
    ';':
          
     pass
    
    # ignore comments
    
    
      else
    :
apply_value(current_section, line)

何时使用状态机

现在,我们已经决定了如果文本文件“太简单”就不使用状态机,让我们再研究 需要使用状态机的情况。本专栏中 最近一篇文章 讨论了实用程序 Txt2Html,它将“智能 ASCII”(包括本文)转换成 HTML。让我们扼要重述。

“智能 ASCII”是一种文本格式,它使用一些间隔约定来区分文本块的类型,如头、常规文本、引语和代码样本。虽然读者或作者能容易地通过查看分析这些文本块类型之间的转移,但却没有简单的方法可以让计算机将“智能 ASCII”文件分割成组成它的文本块。不像 .ini 文件示例,文本块类型可以任何顺序出现。在任何情况下都没有单一定界符来分隔块(空行 通常 分隔文本块,但代码样本中的空行却不一定结束代码样本,并且文本块不需要用空行来分隔)。由于需要以不同方式重新格式化每个文本块以生成正确的 HTML 输出,状态机似乎就是自然的解决方案。

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

Tags:可爱 Python 使用

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