python基础教程项目1:及时标记
2012-06-16 17:02
666 查看
终于把第一个项目啃的差不多了,对于一个初学者来说很有难度。
这个项目的目的是将文本转化为标记语言(例子中是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.自省本文出自 “我的征途是星辰大海” 博客,请务必保留此出处http://mickhan.blog.51cto.com/2517040/900431
这个项目的目的是将文本转化为标记语言(例子中是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.自省本文出自 “我的征途是星辰大海” 博客,请务必保留此出处http://mickhan.blog.51cto.com/2517040/900431
相关文章推荐
- 【Python】读书笔记:Python基础教程-项目1-即时标记
- python基础教程项目二之画幅好画
- Python基础教程项目(5)虚拟茶话会
- lynda.com教程之Learing Python and Django零基础搭建Django项目
- python基础教程项目三之万能的XML
- python基础教程里的项目2:画幅好画
- Python基础教程实践1,即时标记(win7,64位系统)
- python基础教程项目六:使用CGI进行远程编辑
- Python基础教程__项目(公告板)
- python基础教程项目2:画幅好画
- python基础教程项目五之虚拟茶话会
- Python基础教程十个项目(3)
- python基础教程总结15——1.即时标记
- Python基础教程:第2版(经典教程的全新改版,10个项目引人入胜 )
- PYTHON基础教程中十个项目(2)
- PYTHON基础教程中的十个项目(1)
- python基础教程:即时标记
- 超具实战意义的Python项目课程:四周实现爬虫系统 超经典的Python零基础实战化教程
- python基础教程项目四之新闻聚合
- 项目4:新闻聚合-Python基础教程