Python09_Python的文件操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

9.2 文件的打开和关闭
打开文件
指将文件从外部介质读取到内存中,文件被当前程序占用,其他 程序不能操作这个文件。
关闭文件
释放程序对文件的控制,将文件内容存储到外部介质,其他程序 将能够操作这个文件
打开文件函数
open()函数来打开文件,并创建一个文件对象。 myfile = open(filename[,mode]) myfile为引用文件的变量,filename为用字符串描述的文件名,可以 包含文件的存储路径,mode为文件读写模式
读写二进制文件
read()和write()方法可用于读写二进制文件,但二进制文件只能 读写bytes字符串。默认的,二进制文件是顺序读写的,可以使用 seek()方法和tell()方法移动和查看文件当前位置。
write(str)
将字符串str写入文件
writelines(seq_of_str) 写多行到文件,参数seq_of_str为可迭代的对象
9.3 文件的读写操作
读取文件数据
1. read()方法 例9-2使用read()方法读取文本文件内容。
2. readlines()方法和readline()方法 readlines()方法一次性读取的所有行,如果文件很大,会占用大量的 内存空间,读取的时间也会较长。 例9-3使用readlines()方法读取文本文件内容。
3. 遍历文件 Python将文件看做由行组成的序列,可以通过迭代的方式逐行选取 文件。
9.3 文件的读写操作
向文件写数据
write()方法用于向文件中写入字符串,同时文件指针后移; writelines()方法向文件中写入字符串或序列,这个序列可以是列 表、元组或集合等。使用该方法写入序列时,不会自动增加换行 符。
9 Python的文件操作
第9章 Python的文件操作
本章内容
文件的概念 文件的打开和关闭 文件的读写操作 文件和目录操作 使用CSV格式读写数据 文件操作的应用
Python程序可以从文件中读取数据,也 可以向文件中写入数据,文件被广泛应 用于用户和计算机的数据交换。 文件操作可以分为操作文件内容和管理 目录两部分。
9.1 文件的概念
文件是数据的集合,以文本、图像、音频、视频等形式存储在 计算机的外部介质上。根据文件的存储格式不同,可以分为文 本文件和二进制文件两种形式。
文本文件和二进制文件
文本文件由字符组成,按ASCII码、UTF-8或Unicode等格式编码 ,文件内容方便查看和编辑。
二进制文件存储的是由0和1组成的二进制编码。典型的二进制文 件包括bmp格式的图片文件、avi格式的视频文件、各种计算机语 言编译后生成的文件等。
9.2 文件的打开和关闭
打开文件函数
mode取值为:r,r+,w,w+,a,rb,wb等。
关闭文件函数
close()方法用于关闭文件。 myfile.close() flush()方法可将缓冲区内容写入文件,但不关闭文件。 myfile.flush()
9.3 文件的读写操作
以文本文件方式打开的文件,程序默认按照当前操作系统的编码 方式来读写文件,也可以指定编码方式来读写文件;
2. 移动文件当前位置 文件在读写过程中,指针位置会自动移动。调用seek()方法可以手 动移动指针位置。
例9-9 使用seek()方法移动文件指针位置。
7.3 文件的读写操作
读写二进制文件
read()和write()方法可用于读写二进制文件,但二进制文件只能 读写bytes字符串。默认的,二进制文件是顺序读写的,可以使用 seek()方法和tell()方法移动和查看文件当前位置。
读写bytes字符串
传统字符串前加前缀b构成了bytes对象,即bytes字符串,可以写 入二进制文件。
整型、浮点型、序列等数据类型如果要写入二进制文件,需要先 转换为字符串,再使用bytes()方法转换为bytes字符串,之后再 写入文件。
例7-10 向二进制文件读写bytes字符串。
9.3 文件的读写操作
无论是文本文件还是二进制文件,都可以用“文本文件方式”和 “二进制文件方式”打开,但打开后的操作是不同的。
9.1 文件的概念
文本文件的编码
ASCII码,即美国标准信息交换码,采用8位(1字节)编码,因 此最多只能表示256个字符。(10+26+26+其他)
UTF-8编码是国际通用的编码,用8位(1字节)表示英语(兼容 ASCII码),以24位(3字节)表示中文及其他语言。
以二进制文件方式打开的文件,按字节流方式读写。
文件读写操作常用方法
方法
说明
read([size])
读取文件全部内容,或读取size长度的字符或字节
readline([size]) readlines([hint])
读取文件一行内容,或读取当前行size长度的字符 或字节 读取文件的所有行,或读入hint行
GB2312编码是中国制定的中文编码,用1字节表示英文字符,用 2字节表示汉字字符。
Unicode是国际组织制定的可以容纳世界上所有文字和符号的字 符编码方案。
采用不同的编码方式,写入文件的内容可能是不同的。就汉字编 码而言,GBK编码的1个汉字占2个字符,UTF-8编码的1个汉字 占3个字符,Unicode编码中的1个汉字占1个字符。
9.1 文件的概念
文件指针的概念
Python用指针表示当前读写位置。在文件读写过程中,文件指针 的位置是自动移动的。
可以使用tell()方法测试文件指针位置,用seek()方法移动指针位 置。
以只读方式打开文件时,文件指针指向文件开头;向文件中写数 据或追加数据时,文件指针指向Байду номын сангаас件末尾。
通过设置文件指针位置,可以实现文件的定位读写。
例9-6 向文件中写入字符串。 例9-7 使用writelines()方法向文件中写入序列。
9.3 文件的读写操作
文件的定位读写
当需要读取某个位置的数据,或向某个位置写入数据时,需要定 位文件的读写位置。
1. 获取文件当前的读写位置 文件的当前位置就是文件指针的位置。tell()方法可以获取文件指针 位置,该方法返回文件的当前位置。 例9-8 使用tell()方法获取文件当前的读写位置。
相关文档
最新文档