python基础教程项目1:及时标记

发布时间:2019-06-27 09:49:56编辑:auto阅读(1662)

    终于把第一个项目啃的差不多了,对于一个初学者来说很有难度。

    这个项目的目的是将文本转化为标记语言(例子中是HTML)。
    基本的思路是这样的:
    1.读取文本文件,利用生成器遍历文本,并将文本转化为处理的基本单位——块(block)
    2.使用正则表达式过滤块中的强调语句、URL、email地址。添加相应的标签,如<em></em> <a></a>等。
    3.根据语言特点制定一些规则,对块逐条匹配,添加相应的标签。如<p></p> <ul></ul>等。
     
    相应的,实现的时候分成了几个模块:
    markup.py:主模块,调用各个模块实现业务逻辑。
    util.py:生成器,遍历文本,转化为块。
    handlers.py:过滤块中的特殊语句。为rules指定的块添加标签,输出结果。
    rules.py:判断markup指定的块的类型,调用handlers处理。
     
    个人感觉比较难的地方:
    1.模块的组织,类的设计
    2.迭代器,生成器
    3.正则表达式,re中相关函数的使用
    4.自省

关键字