Python语言实用教程第7章-文件课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Python语言实用教程第7章-文件课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 语言 实用教程 文件 课件
- 资源描述:
-
1、 程序运行时变量、序列、对象等中的数据暂程序运行时变量、序列、对象等中的数据暂时存储在内存中,当程序终止时它们就会丢失。时存储在内存中,当程序终止时它们就会丢失。为了能够永久地保存程序相关的数据,就需要将为了能够永久地保存程序相关的数据,就需要将它们存储到磁盘或光盘中的文件里。这些文件可它们存储到磁盘或光盘中的文件里。这些文件可以传送,也可以后续被其他程序使用。文件是计以传送,也可以后续被其他程序使用。文件是计算机中程序、数据的永久存在形式。对文件数据算机中程序、数据的永久存在形式。对文件数据的输入输出操作是信息管理的不可或缺的基本要的输入输出操作是信息管理的不可或缺的基本要求。求。学习重点或
2、难点:学习重点或难点:文件基本概念文件基本概念 文件操作文件操作 文件输入输出文件输入输出 文件输入输出操作是几乎所有语言都具有的功文件输入输出操作是几乎所有语言都具有的功能,学习本章后你将具备信息管理的基本技能了。能,学习本章后你将具备信息管理的基本技能了。7.1 文件基本概念文件基本概念 7.2 文件打开和关闭文件打开和关闭 7.3 文件操作文件操作 7.4 文件夹的操作文件夹的操作 7.5 序列化和反序列化序列化和反序列化 7.6 应用实例应用实例 所谓所谓“文件文件”是指一组相关数据的有序集是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。例合。这个数据集有一个名称,叫做文
3、件名。例如源程序文件、可执行文件、数据文件、库文如源程序文件、可执行文件、数据文件、库文件等。件等。文件通常是驻留在外部介质文件通常是驻留在外部介质(如磁盘等如磁盘等)上上的,在使用时才调入内存中来。的,在使用时才调入内存中来。从不同的角度,可对文件作不同的分类。从不同的角度,可对文件作不同的分类。从用户的角度看,文件可分为从用户的角度看,文件可分为普通文件普通文件和和设备设备文件文件两种。两种。通常把显示器定义为标准输出文件,文件名通常把显示器定义为标准输出文件,文件名为为sys.stdout,一般情况下在屏幕上显示有关信,一般情况下在屏幕上显示有关信息就是向标准输出文件输出。如前面经常使用
4、的息就是向标准输出文件输出。如前面经常使用的print函数就是这类输出。函数就是这类输出。键盘通常被指定为标准输入文件,文件名为键盘通常被指定为标准输入文件,文件名为sys.stdin,从键盘上输入就意味着从标准输入文,从键盘上输入就意味着从标准输入文件上输入数据。件上输入数据。input函数就属于这类输入。函数就属于这类输入。标准错误输出也是标准设备文件,文件名为标准错误输出也是标准设备文件,文件名为sys.stderr。从文件编码的方式来看,文件可分为从文件编码的方式来看,文件可分为编码编码(ASCII码码)文件文件和和二进制码文件二进制码文件两种。两种。ASCII文件也称为文本文件,这种
5、文文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。码。二进制文件是按二进制的编码方式来存放文件数据内容二进制文件是按二进制的编码方式来存放文件数据内容的一类文件。的一类文件。二进制文件虽然也可在屏幕上显示,但其内容一般无法二进制文件虽然也可在屏幕上显示,但其内容一般无法读懂。然而,二进制文件占用存储空间少,在进行读、写操读懂。然而,二进制文件占用存储空间少,在进行读、写操作时不用进行编码转换,效率要高。为此,这类文件及其操作时不用进行编码转换,效率要高。为此,这类文件及其操作也很常用。作也很常用。在
6、在2.3节已经介绍如何向标准输入文件(节已经介绍如何向标准输入文件(键盘,键盘,sys.stdin)和输出文件(屏幕,)和输出文件(屏幕,sys.stdout)进行读写。下面来介绍如何读)进行读写。下面来介绍如何读写实际的数据文件。写实际的数据文件。Python提供了必要的函提供了必要的函数或方法进行默认情况下的文件基本操作。数或方法进行默认情况下的文件基本操作。用用file对象可以完成大部分的文件操作。对象可以完成大部分的文件操作。在读写磁盘文件前,必须先用在读写磁盘文件前,必须先用Python内置的内置的open()函数打开一个文件,创建一个函数打开一个文件,创建一个file对象。对象。语
7、法为:语法为:=open(file_name,access_mode=r,buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)一个文件被打开后,有一个一个文件被打开后,有一个file对象,可以得到表对象,可以得到表7-2有关文件的各种信息。有关文件的各种信息。属性属性描述描述file.closed 如果文件已被关闭返回如果文件已被关闭返回True,否则返回,否则返回False。file.mode 返回被打开文件的访问模式。返回被打开文件的访问模式。file.name 返回文件的名称。返回文件的
8、名称。file.softspace如果用如果用print输出后必须跟一个空格符,则返回输出后必须跟一个空格符,则返回False;否则否则返回返回True。PyPython 3.x已不支持已不支持。如下示例:如下示例:fo=open(foo.txt,wb)#打开一个文件打开一个文件print(Name of the file:,fo.name)#Name of the file:foo.txtprint(Closed or not:,fo.closed)#Closed or not:Falseprint(Opening mode:,fo.mode)#Opening mode:wbprint(So
9、ftspace flag:,fo.softspace)#Softspace flag:0#Python 2.7 file对象的对象的close()方法刷新缓冲区里任何还没写入文件的信息,并关闭方法刷新缓冲区里任何还没写入文件的信息,并关闭该文件,这之后便不能再进行写入。该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前会关闭之前的文件。用的文件。用close()方法关闭文件是一个很好的习惯。方法关闭文件是一个很好的习惯。语法:语法:fileObject.close();例如:例如:fo=open(f
10、oo.txt,wb)#打开一个文件打开一个文件 print(Name of the file:,fo.name)#Name of the file:foo.txt fo.close()#关闭打开的文件关闭打开的文件 当处理一个文件对象时当处理一个文件对象时,使用使用 with 关键字是非常好的方式。在结束后关键字是非常好的方式。在结束后,它会帮你正确的关闭文件。而且写起来也比它会帮你正确的关闭文件。而且写起来也比try-finally语句块要简短:语句块要简短:with open(/tmp/workfile,r)as f:.read_data=f.read()f.closed#true fil
11、e对象提供了一系列方法,能让文件对象提供了一系列方法,能让文件访问更轻松。来看看如何使用访问更轻松。来看看如何使用read()和和write()方法来读取和写入文件。方法来读取和写入文件。1、f.write()write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。字符串可以是二进制数据,而不是仅仅是文字。Write()方法不在字符方法不在字符串的结尾添加换行符串的结尾添加换行符(n)。语法:语法:fileObject.write(string);#被传递的参数被传递的参
12、数string是要写入到文件的内容是要写入到文件的内容例如:例如:fo=open(/tmp/foo.txt,wb)#打开一个文件打开一个文件fo.write(Python is a great language.Yeah its great!n);fo.write(bytes(Python language.,encoding=”utf-8”);fo.close()#关闭打开的文件关闭打开的文件2、f.writelines()writelines()的语法:的语法:f.writelines(seq),把,把seq的内容全部写到文件中的内容全部写到文件中(多行一次多行一次性写入性写入)。这个函数
13、也只是如实地写入,不。这个函数也只是如实地写入,不会在每行后面加上任何东西。会在每行后面加上任何东西。1、f.read()read()方法从一个打开的文件中读取一个字符串。需要重点注意方法从一个打开的文件中读取一个字符串。需要重点注意的是,的是,Python字符串可以是二进制数据,而不是仅仅是编码(字符串可以是二进制数据,而不是仅仅是编码(ASCII码)文字。码)文字。语法:语法:fileObject.read(size);这里,被传递的参数是要从已打开文件中读取的字节计数。该方这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入法从文件的开头开始读入,
展开阅读全文