Python09-Python的文件操作课件.pptx

上传人(卖家):三亚风情 文档编号:3371806 上传时间:2022-08-24 格式:PPTX 页数:30 大小:223KB
下载 相关 举报
Python09-Python的文件操作课件.pptx_第1页
第1页 / 共30页
Python09-Python的文件操作课件.pptx_第2页
第2页 / 共30页
Python09-Python的文件操作课件.pptx_第3页
第3页 / 共30页
Python09-Python的文件操作课件.pptx_第4页
第4页 / 共30页
Python09-Python的文件操作课件.pptx_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、9 Python的文件操作第9章 Python的文件操作 本章本章内容内容 文件的概念 文件的打开和关闭 文件的读写操作 文件和目录操作 使用CSV格式读写数据 文件操作的应用Python程序可以从文件中读取数据,也可以向文件中写入数据,文件被广泛应用于用户和计算机的数据交换。文件操作可以分为操作文件内容和管理目录两部分。9.1 文件的概念文件的概念 文件是数据的集合,以文本、图像、音频、视频等形式存储在文件是数据的集合,以文本、图像、音频、视频等形式存储在计算机的外部介质上计算机的外部介质上。根据。根据文件的存储格式不同,可以分为文文件的存储格式不同,可以分为文本文件和二进制文件两种形式。本

2、文件和二进制文件两种形式。文本文件和二进制文件文本文件和二进制文件 文本文件由字符组成,按ASCII码、UTF-8或Unicode等格式编码,文件内容方便查看和编辑。二进制文件存储的是由0和1组成的二进制编码。典型的二进制文件包括bmp格式的图片文件、avi格式的视频文件、各种计算机语言编译后生成的文件等。无论是文本文件还是二进制文件,都可以用“文本文件方式”和“二进制文件方式”打开,但打开后的操作是不同的。9.1 文件的概念文件的概念 文本文件的编码文本文件的编码 ASCII码,即美国标准信息交换码,采用8位(1字节)编码,因此最多只能表示256个字符。(10+26+26+其他)UTF-8编

3、码是国际通用的编码,用8位(1字节)表示英语(兼容ASCII码),以24位(3字节)表示中文及其他语言。GB2312编码是中国制定的中文编码,用1字节表示英文字符,用2字节表示汉字字符。Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。采用不同的编码方式,写入文件的内容可能是不同的。就汉字编码而言,GBK编码的1个汉字占2个字符,UTF-8编码的1个汉字占3个字符,Unicode编码中的1个汉字占1个字符。9.1 文件的概念文件的概念 文件文件指针的概念指针的概念 Python用指针表示当前读写位置。在文件读写过程中,文件指针的位置是自动移动的。可以使用tell()方法

4、测试文件指针位置,用seek()方法移动指针位置。以只读方式打开文件时,文件指针指向文件开头;向文件中写数据或追加数据时,文件指针指向文件末尾。通过设置文件指针位置,可以实现文件的定位读写。9.2 文件的打开和关闭文件的打开和关闭 打开打开文件文件 指将文件从外部介质读取到内存中,文件被当前程序占用,其他程序不能操作这个文件。关闭文件关闭文件 释放程序对文件的控制,将文件内容存储到外部介质,其他程序将能够操作这个文件 打开打开文件文件函数函数 open()函数来打开文件,并创建一个文件对象。myfile=open(filename,mode)myfile为引用文件的变量,filename为用字

5、符串描述的文件名,可以包含文件的存储路径,mode为文件读写模式9.2 文件的打开和关闭文件的打开和关闭 打开文件打开文件函数函数mode取值为:r,r+,w,w+,a,rb,wb等。关闭文件函数关闭文件函数 close()方法用于关闭文件。myfile.close()flush()方法可将缓冲区内容写入文件,但不关闭文件。myfile.flush()9.3 文件的读写操作文件的读写操作 以文本文件方式打开的文件,程序默认按照当前操作系统的编码方式来读写文件,也可以指定编码方式来读写文件;以二进制文件方式打开的文件,按字节流方式读写。文件读写操作常用方法方法方法说明说明read(size)读取

6、文件全部内容,或读取size长度的字符或字节readline(size)读取文件一行内容,或读取当前行size长度的字符或字节readlines(hint)读取文件的所有行,或读入hint行write(str)将字符串str写入文件writelines(seq_of_str)写多行到文件,参数seq_of_str为可迭代的对象9.3 文件的读写操作文件的读写操作 读取读取文件数据文件数据1.read()方法例9-2使用read()方法读取文本文件内容。2.readlines()方法和readline()方法readlines()方法一次性读取的所有行,如果文件很大,会占用大量的内存空间,读取的

7、时间也会较长。例9-3使用readlines()方法读取文本文件内容。3.遍历文件Python将文件看做由行组成的序列,可以通过迭代的方式逐行选取文件。9.3 文件的读写操作文件的读写操作 向文件写数据向文件写数据 write()方法用于向文件中写入字符串,同时文件指针后移;writelines()方法向文件中写入字符串或序列,这个序列可以是列表、元组或集合等。使用该方法写入序列时,不会自动增加换行符。例9-6 向文件中写入字符串。例9-7 使用writelines()方法向文件中写入序列。9.3 文件的读写操作文件的读写操作 文件的定位读写文件的定位读写 当需要读取某个位置的数据,或向某个位

8、置写入数据时,需要定位文件的读写位置。1.获取文件当前的读写位置文件的当前位置就是文件指针的位置。tell()方法可以获取文件指针位置,该方法返回文件的当前位置。例9-8 使用tell()方法获取文件当前的读写位置。2.移动文件当前位置文件在读写过程中,指针位置会自动移动。调用seek()方法可以手动移动指针位置。例9-9 使用seek()方法移动文件指针位置。7.3 文件的读写操作文件的读写操作 读写二进制文件读写二进制文件 read()和write()方法可用于读写二进制文件,但二进制文件只能读写bytes字符串。默认的,二进制文件是顺序读写的,可以使用seek()方法和tell()方法移

9、动和查看文件当前位置。读写读写bytes字符串字符串 传统字符串前加前缀b构成了bytes对象,即bytes字符串,可以写入二进制文件。整型、浮点型、序列等数据类型如果要写入二进制文件,需要先转换为字符串,再使用bytes()方法转换为bytes字符串,之后再写入文件。例7-10 向二进制文件读写bytes字符串。9.3 文件的读写操作文件的读写操作 读写二进制文件读写二进制文件 read()和write()方法可用于读写二进制文件,但二进制文件只能读写bytes字符串。默认的,二进制文件是顺序读写的,可以使用seek()方法和tell()方法移动和查看文件当前位置。读写读写bytes字符串字

10、符串 传统字符串前加前缀b构成了bytes对象,即bytes字符串,可以写入二进制文件。整型、浮点型、序列等数据类型如果要写入二进制文件,需要先转换为字符串,再使用bytes()方法转换为bytes字符串,之后再写入文件。例9-10 向二进制文件读写bytes字符串。9.3 文件的读写操作文件的读写操作 读写读写Python对象对象 直接用文本文件格式或二进制文件格式存储Python中的对象,通常需要进行烦琐的转换,可以使用Python标准模块pickle处理文件中对象的读和写。用文件存储程序中的对象称为对象的序列化。pickle是python语言的一个标准模块,可以实现Python基本的数据

11、序列化和反序列化。pickle模块的dump()方法用于序列化操作,能够将程序中运行的对象信息保存到文件中去,永久存储;而pickle模块的load()方法数用于反序列化操作,能够从文件中读取保存的对象。例9-11 使用pickle模块的dump()函数和load()函数读写Python对象。9.4 文件和目录操作 查看文件属性、复制和删除文件、创建和删除目录等属于文件查看文件属性、复制和删除文件、创建和删除目录等属于文件和目录操作范畴和目录操作范畴。常用的文件操作常用的文件操作函数函数 os模块和os.path模块提供了大量的操作文件名、文件属性、文件路径的方法。下面示例代码操作的文件保存位

12、置是D:pythonfile36test.txt。函数名函数名示例示例abspath(path)os.path.abspath(test.txt)D:pythonfile36test.txtdirname(path)os.path.dirname(D:pythonfile36test.txt)D:pythonfile36exists(path)os.path.exists(D:pythonfile36)Truegetatime(path)os.path.getatime(D:pythonfile36)1518846173.556209getmtime(path)o s.p a t h.g e

13、t m t i m e(D:pythonfile36test.txt)1518845768.0536315getsize(path)os.path.getsize(D:pythonfile36test.txt)120isabs(path)os.path.isabs(D:pythonfile36)Trueisdir(path)os.path.isdir(D:pythonfile36)True isfile(path)os.path.isfile(D:pythonfile36)False 常用常用的文的文件操作件操作函函数数os.path模块常用的文件处理函数9.4 文件和目录操作9.4 文件和目

14、录操作 常用常用的文件操作的文件操作函数函数 os模块常用的文件处理函数函数名函数名功能说明功能说明os.getcwd()当前Python脚本工作的路径os.listdir(path)返回指定目录下的所有文件和目录名os.remove(file)删除参数file指定的文件os.removedirs(path)删除指定目录os.rename(old,new)文件old重命名为newos.mkdir(path)创建单个目录os.stat(path)获取文件属性9.4 文件和目录操作 文件的复制、删除、重命名操作文件的复制、删除、重命名操作1.文件的复制 二进制文件和文本文件,文件读写都以字节为单位

15、进行。复制文件可以使用read()与write()方法编程来实现。用 shutil模块的函数实现文件的复制。shutil模块是一个文件、目录的管理接口,该模块的 copyfile()函数就可以实现文件的复制。例9-12 使用shutil.copyfile()方法复制文件。9.4 文件和目录操作 文件的复制、删除、重命名操作文件的复制、删除、重命名操作2.文件的删除文件的删除可以使用os模块的remove()函数实现,编程时可以使用os.path.exists()函数来判断删除的文件是否存在。例9-13 删除文件的程序。3.文件的重命名文件的重命名可以通过os模块的rename()函数实现。例9

16、-14提示用户输入要更名的文件名,当文件不存在时退出程序;还需输入更名后的文件名,如果这个文件名存在,也退出程序。9.5 使用使用CSV文件格式读写数据文件格式读写数据 CSV文件介绍文件介绍1.CSV文件概念和特点CSV文件是一种文本文件,由任意数目的行组成,一行被称为一条记录。CSV格式存储的文件一般采用.csv为扩展名,可以记事本或微软 Excel工具打开,可以在其他操作系统平台上用文本编辑工具打开。CSV文件特点如下。读取出的数据一般为字符类型,如果要获得数值类型,需要用户完成转换。以行为单位读取数据。列之间以半角逗号或制表符为分隔,一般为半角逗号。一般为每行开头不空格,第一行是属性列

17、,数据列之间用间隔符分隔,无空格,行之间无空行。9.5 使用使用CSV文件格式读写数据文件格式读写数据 CSV文件介绍文件介绍2.CSV文件的建立 CSV文件是纯文本文件,可以使用记事本按照CSV文件的规则来建立,或使用微软Excel工具录入数据,另存为CSV文件即可。3.Python的csv库 Python提供了一个读写CSV文件的标准库,可以通过 import csv语句导入。csv库包含了操作CSV格式文件最基本的功能,典型的方法是csv.reader()和csv.writer(),分别用于读和写CSV文件。9.5 使用使用CSV文件格式读写数据文件格式读写数据 数据写入和读取到数据写入

18、和读取到CSV文件文件1.数据的维度描述 CSV文件主要用于数据的组织和处理。根据数据表示的复杂程度和数据间关系不同,可以将数据划分为一维数据、二维数据和多维数据等3种类型 一维数据即线性结构,也叫线性表。二维数据即关系,与数学中的二维矩阵类似,用表格方式组织。多维数据由键值对类型的数据构成,采用对象方式组织,属于维度更好的数据组织方式。9.5 使用使用CSV文件格式读写数据文件格式读写数据 数据写入和读取到数据写入和读取到CSV文件文件1.数据的维度描述 一维数据的描述如下。lst1=a,b,1,100tup1=(1,3,5,7,9)用列表描述的二维数据。lst2=1,2,3,4,a,b,c

19、,-9,-37,100以键值对方式表示的多维数据。成绩单:姓名:Rose,专业:计算机,score:78 姓名:Mike,专业:法学,score:78 姓名:John 专业:历史,score:90 9.5 使用使用CSV文件格式读写数据文件格式读写数据2.向CSV文件中写入和读取一维数据用列表变量保存一维数据,可以使用字符串的join()方法组成逗号分隔形式,再通过文件的write()方法保存到CSV文件中。读取CSV文件中的一维数据,即读取一行数据,使用文件的read()方法读取即可,也可以将文件的内容读取到列表中。9.5 使用使用CSV文件格式读写数据文件格式读写数据3.向CSV文件中写入

20、和读取二维数据csv模块中的reader()和writer()方法提供了读写CSV文件的操作。在写入CSV文件的方法中,指定newline=选项,可以防止向文件中写入空行。例9-17 他们看CSV文件中写入二维数据9.6 文件操作的应用 为为文本文件添加行号文本文件添加行号 为文本加行号的基本思路是遍历文件的每行,然后使用enumerate()函数。该函数的功能将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,通常用在for 循环中。读取一行,并添加行号后,再写入新文件中。例9-19 使用enumerate()函数遍历文本文件并添加行号。9.6 文件操作

21、的应用 输入输入日志的程序日志的程序 例9-20使用交互方式建立日志文件。小结 文件的概念,打开文件和关闭文件的方法,文本文件的读写操作,二进制文件的读写操作,文件和目录的操作等内容。文件可以分为文本文件和二进制文件两种存储形式。文本文件按ASCII码、UTF-8或Unicode等格式编码。二进制文件存储的是由0和1组成的二进制编码,二进制文件只能当作字节流处理,文件读写的是 bytes字符串。文件操作需要先使用open()方法打开文件,结束后再用close()方法关闭文件。文件的读操作使用read()系列方法,文件的写操作使用write()系列方法,文件的定位读写使用tell()方法和seek()方法。查看文件属性、复制和删除文件、创建和删除目录等属于文件和目录操作范畴,需要使用os模块和os.path模块中的函数。作业:(1)将一个文件中的所有英文字母转换成大写,复制到另一文件中。(2)将一个文件中的指定单词删除后,复制到另一个文件中。(3)接收用户从键盘输入的一个文件名,然后判断该文件是否存在于当前目录。若存在,则输出以下信息:文件是否可读和可写、文件的大小、文件是普通文件还是目录。(4)将一文本文件加密后输出,规则如下:大写英文字符A变换为C,B变换为D,Y变换为A,Z变换为B,小写英文字符规则同上,其他字符不变。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python09-Python的文件操作课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|