终于把第一个项目啃的差不多了,对于一个初学者来说很有难度。
python基础教程项目1:及时标记
原创
©著作权归作者所有:来自51CTO博客作者catmic的原创作品,请联系作者获取转载授权,否则将追究法律责任
这个项目的目的是将文本转化为标记语言(例子中是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.自省
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MySQL 基础教程[1]
存有一商场信息管理系统的数据库db_mall, 其包含一个记录商品有关信息的商品表
mysql 数据库 sql ci 字段 -
JavaScript基础教程1
单行注释以 // 开头。本例用单行注释来解释代码:<!DOCTYPE html><html><head> <meta chars
javascript html html5 全局变量 -
Canvas基础教程(章节1)
这是我的第一篇Canvas 基础教程,我先简述一下什么是Canvas 。 H5 新增内容,
canvas 入门 属性 案例 html -
python基础教程攻略 python基础教程简介
Python详细介绍及使用(基础篇)第一章 Python基础 Python的由来:1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (B
python基础教程攻略 python基础 Python python 字节码