文档介绍:目录1 第一章-- 第一节-- 主题-- 练****160;主题-- 主题-- BUILTIN--对象 : BUILTIN--file : BUILTIN--int : BUILTIN--long : BUILTIN--float : BUILTIN--complex : 模块--UserDict : BUILTIN--dict : 模块--UserList : BUILTIN--list : BUILTIN--tuple : 模块--UserString : BUILTIN--str : 练****160;练****在大文件里行操作第一章--Python基础本章讨论Python处理文本的能力。Python语法和语义可以参考附录A或GuidovanRossum的_PythonTutorial_在/doc/current/tut/。这里的重点不是Python语言介绍,但也没有特别关注文本处理。,我会关注一些Python语言的编程技术,并不适合Python初学者。编程技术的讨论着重于适用文字处理的情况--其他编程任务本书不会详细讨论。,我会介绍Python的标准库在文字处理程序里的应用。有些Python标准库模块是远远不适合文字处理的,在这方面你可能不会使用它们。这种边缘的模块我只会非常简单的作一两行说明。更详细的资料请翻看Python的文档。第一节--技巧和形式主题--在文字处理里使用高阶函数这第一个主题富有挑战性。如果是首次接触高阶函数对于不熟悉这方面的Python程序员来说有点困难。不要过于害怕这个困难--您可以了解到其他书里没有的东西。如果函数式编程概念你不熟悉,我建议你先看附录A,特别是其中最后一节的介绍。在文字处理中,一个经常的动作就是处理一系列句子,这些句子有一定的相似性。多数情况下,这些句子是用换行分隔,但有时也会用其他的形式。此外,Python从文件里按行读取在不同平台可能会有所差异。显然,这样的分块还没有完全统一,会包含不同的数据。但在这里我们先不考虑这个,我们假设每个分块句都包含了正确有用的资料。举例而言,我们想选择那些符合我们要求的行文字,其标准是'isCond()':#*----------命令行式风格的行选择-----------------------#selected=[]#收集可用的行fp=open(filename):():#->"forlineinfp:"ifisCond(line):#()(line)delline#清除不用的名称这样读取几行没有任何-错误-(效率问题参看[xreadlines])。但阅读这样的程序会多花几秒钟。在我看来,即使是这么一小段程序也不符合-简单-的设计思想,即使它的运作确实是这样的。'line'这个变量略显多余(不光要考虑循环以后它的保留价值,同时循环的每一步都要给它赋值)。在函数式风格里,我们可以写的很简单:#*----------函数式风格的行选择-------------------------#selected=filter(isCond,open(filename).readlines())#->filter(isCond,open(filename))在具体应用里,一个经常做的操作就是处理一个有很多行的日志文件。各式各样的应用程序都会产生日志文件,最常见的是那些导致系统变化的应用程序需要纪录每一次操作。例如,Python的Windows安装程序会产生一个'',其中包含了安装中各个步骤的清单。以下是从我的电脑复制的一个这个文件:#--------------------------------------#Title::C:\DOWNLOAD\PYTHON-|02-23-2002|01:40:54|7074248MadeDir:D:\Python22F