- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[用Python做文本处理第一章
用Python作文本处理/第一章
目录
1?第一章 -- Python基础
1.1?第一节 -- 技巧和形式
1.1.1?主题 -- 在文字处理里使用高阶函数
?练习:组合函数的应用
1.1.2?主题 -- Python数据类型的特殊性
1.1.3?主题 -- 基础数据类
?BUILTIN -- 对象?: 新式数据类型原型
?BUILTIN -- file?: 文件对象的新式类
?BUILTIN -- int?: 整数的新式类
?BUILTIN -- long?: 长整数的新式类
?BUILTIN -- float?: 浮点数的新式类
?BUILTIN -- complex?: 复数的新式类
?模块 -- UserDict?: 包装字典对象的类
?BUILTIN -- dict?: 字典对象的新式类
?模块 -- UserList?: 包装列表对象的类
0?BUILTIN -- list?: 列表对象的新式类
1?BUILTIN -- tuple?: 元组对象的新式类
2?模块 -- UserString?: 包装字符串对象的类
3?BUILTIN -- str?: 字符串对象的新式类
3.1?练习:格式化字符串
3.2?练习:在大文件里行操作 第一章 -- Python基础
本章讨论Python处理文本的能力。Python语法和语义可以参考附录A或Guido van Rossum的_Python Tutorial_在/doc/current/tut/tut.html。这里的重点不是Python语言介绍,但也没有特别关注文本处理。
在1.1,我会关注一些Python语言的编程技术,并不适合Python初学者。编程技术的讨论着重于适用文字处理的情况--其他编程任务本书不会详细讨论。
在1.2,我会介绍Python的标准库在文字处理程序里的应用。有些Python标准库模块是远远不适合文字处理的,在这方面你可能不会使用它们。这种边缘的模块我只会非常简单的作一两行说明。更详细的资料请翻看Python的文档。
第一节 -- 技巧和形式
主题 -- 在文字处理里使用高阶函数
这第一个主题富有挑战性。如果是首次接触高阶函数对于不熟悉这方面的Python程序员来说有点困难。不要过于害怕这个困难--您可以了解到其他书里没有的东西。如果函数式编程概念你不熟悉,我建议你先看附录A,特别是其中最后一节的介绍。
在文字处理中,一个经常的动作就是处理一系列句子,这些句子有一定的相似性。多数情况下,这些句子是用换行分隔,但有时也会用其他的形式。此外,Python从文件里按行读取在不同平台可能会有所差异。显然,这样的分块还没有完全统一,会包含不同的数据。但在这里我们先不考虑这个,我们假设每个分块句都包含了正确有用的资料。
举例而言,我们想选择那些符合我们要求的行文字,其标准是isCond():
#* 命令行式风格的行选择 #
selected = [] # 收集可用的行
fp = open(filename):
for line in fp.readlines(): # Python2.2 - for line in fp:
if isCond(line): # (2.2版本这里是惰性读取)
selected.append(line)
del line # 清除不用的名称
这样读取几行没有任何 -错误-(效率问题参看[xreadlines])。但阅读这样的程序会多花几秒钟。在我看来,即使是这么一小段程序也不符合 -简单- 的设计思想,即使它的运作确实是这样的。line这个变量略显多余(不光要考虑循环以后它的保留价值,同时循环的每一步都要给它赋值)。在函数式风格里,我们可以写的很简单:
#* 函数式风格的行选择 #
selected = filter(isCond, open(filename).readlines())
# Py2.2 - filter(isCond, open(filename))
在具体应用里,一个经常做的操作就是处理一个有很多行的日志文件。各式各样的应用程序都会产生日志文件,最常见的是那些导致系统变化的应用程序需要纪录每一次操作。例如,Python的Windows安装程序会产生一个INSTALL.LOG,其中包含了安装中各个步骤的清单。以下是从我的电脑复制的一个这个文件:
# INSTALL.LOG 样本 #
Title: Python 2.2
Source: C:\DOWNLOAD\PYTHON-2.2
您可能关注的文档
- [生产经营部岗位职责工作标准任职条件.doc
- [面对面装饰公司-昆明分公司简介.doc
- [面点厨师标准化操作程序.doc
- [面点工艺及制作技术》08营养班09高职班09-10-2教案新.doc
- [做一个有思想的读书人.doc
- [预防艾滋病主题班会.ppt
- [生僻字.doc
- [面积补差的简易操作手册.doc
- [故事性新材料作文中心论点的提炼正.ppt
- [生命与安陈雪梅.doc
- DB34T 4359-2022 社区(村)养老服务中心(站)建设指南.pdf
- DB34T 4206-2022 饲料中癸氧喹酯的测定 高效液相色谱法.pdf
- DB34T 4371-2023 人力资源服务机构 职业技能等级认定服务规范.pdf
- DB34T 3800-2021 稻田共养生态物联网技术规程-安徽省地方标准电子版下载.pdf
- DB34T 2321-2015 杂交中籼稻免耕抛秧保护性栽培技术规程-安徽省地方标准电子版下载.pdf
- DB34T 4271-2022 区域性暴雨过程等级划分.pdf
- DB3402T 22-2021 乡村旅游集聚示范区评定规范-安徽省芜湖市地方标准电子版下载.pdf
- DB34T 3936-2021 稻麦秸秆黄贮技术规范.pdf
- DB34T 3853-2021 夏玉米花期高温热害综合防控技术规程.pdf
- 2019-2020学年湖南省益阳市桃江县高二(下)期末英语试卷.pdf
最近下载
- 《质量评估流程》课件.ppt VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(最新).pdf VIP
- 2024年数智工程师职业鉴定考试复习题库(含答案).docx VIP
- (完整版)建筑施工技术交底范本(大全) .pdf VIP
- 水运工程大体积混凝土温度裂缝控制技术规范_JTS-T 202-1-2022.pdf
- 设备供货、安装、调试、验收方案.docx VIP
- 《水利水电工程施工图审查技术导则》.pdf VIP
- 《木材学》——李坚 木材学笔记(完整).doc VIP
- 《公路水泥混凝土路面施工技术规范》_(JTGF30-2015).pdf VIP
- 小学生数学学习自查习惯现状调查报告.pdf VIP
文档评论(0)