《Python程序设计》教学课件—07文件操作

上传人:sat****105 文档编号:290121318 上传时间:2022-05-09 格式:PPTX 页数:33 大小:632.34KB
返回 下载 相关 举报
《Python程序设计》教学课件—07文件操作_第1页
第1页 / 共33页
《Python程序设计》教学课件—07文件操作_第2页
第2页 / 共33页
《Python程序设计》教学课件—07文件操作_第3页
第3页 / 共33页
《Python程序设计》教学课件—07文件操作_第4页
第4页 / 共33页
《Python程序设计》教学课件—07文件操作_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《Python程序设计》教学课件—07文件操作》由会员分享,可在线阅读,更多相关《《Python程序设计》教学课件—07文件操作(33页珍藏版)》请在金锄头文库上搜索。

1、PythonPython能够处理操作系统下的文件结构,能够处理操作系统下的文件结构,包括文本文件、二进制文件和其他类型的文包括文本文件、二进制文件和其他类型的文件(如件(如ExcelExcel文件、文件、WordWord文件等)文件等)。第7章 文件操作目录第第7 7章章 文件文件操作操作7.1 7.1 文件的打开和关闭文件的打开和关闭 7.1.1 7.1.1 文件的文件的打开函数打开函数openopen()() 7.1.2 7.1.2 文件的关闭方法文件的关闭方法close()close()7.2 7.2 文件的操作文件的操作 7.2.1 7.2.1 读文件读文件 7.2.2 7.2.2 写

2、文件写文件 7.2.3 7.2.3 在文件中定位在文件中定位7.3 CSV7.3 CSV文件文件 7.3.1 7.3.1 CSVCSV文件简介文件简介 7.3.2 7.3.2 CSVCSV文件访问文件访问7.4 7.4 习题习题7.1 7.1 文件的打开和关闭文件的打开和关闭7.1.1 文件的打开函数open()使用内置的open()函数创建文件对象的语法格式如下:open(file_name, access_mode , buffering , encoding)一般把文件对象赋值给一个变量(例如,fileObject),称为文件对象变量。语法格式如下:fileObject= open(fi

3、le_name, access_mode , buffering , encoding)7.1 7.1 文件的打开和关闭文件的打开和关闭【例7-1】打开一个文件并显示相关属性。# 用追加方式打开文件,使用绝对路径,目录之间用双斜线分隔# 创建文件对象并赋值给变量成为文件对象名file = open(D:Python练习demo.txt, at+, -1, utf-8)# 输出文件对象的相关属性print(文件名:, file.name)print(文件对象类型:, type(file)print(文件缓冲区:, file.buffer)print(文件访问模式:, file.mode)prin

4、t(文件编码方式:, file.encoding)print(文件换行方式:, file.newlines)print(文件是否已关闭:, file.closed)file.close()print(执行close()方法后)print(文件是否已关闭:, file.closed)运行程序显示如下:文件名: D:Python练习demo.txt文件对象类型: 文件缓冲区: 文件访问模式: at+文件编码方式: utf-8文件换行方式: None文件是否已关闭: False执行close()方法后文件是否已关闭: True7.1 7.1 文件的打开和关闭文件的打开和关闭7.1.2 文件的关闭方法

5、close()close()方法的语法格式如下:fileObject.close()其中,fileObject是文件对象名。文件关闭后就不能访问该文件对象的属性和方法了。如果在一个文件关闭后还对其进行操作,将产生ValueError。7.1 7.1 文件的打开和关闭文件的打开和关闭7.2 7.2 文件的操作文件的操作7.2.1 读文件1 .用read()方法读取文本文件对象的read()方法用于从当前位置读取指定数量的字符,并以字符串形式返回,语法格式如下:fileObject.read(size)或变量名= fileObject.read(size)7.2 7.2 文件的操作文件的操作【例7

6、-2】read()方法应用示例。file1=open(D:Python练习Abc1.txt, r) #只读模式打开文本文件,并把文件对象赋值给变量text=file1.read() # 用文件对象调用read()方法,读取文件的全部内容,并赋值给字符串变量textprint(Abc1.txt:)print(text) # 输出文本文件中的所有内容file1.close() # 关闭文件file2=open(D:Python练习dai.txt, r+) # 打开另外一个文件dai.txttext = file2.read(50) # 读取文件中的前50个字节,并赋值给字符串变量textprint

7、(dai.txt:)print(text) # 输出文本文件中的前50个字节内容file2.close() # 关闭文件执行程序前,先用记事本创建两个文本文件Abc1.txt、dai.txt,并保存在“D:Python练习”文件夹中。这两个文件的内容相同,文件内容如下:a123456789b123456789c123456789d123456789e123456789f1234567891abcdefghi2abcdefghi3abcdefghi4abcdefghi5abcdefghi7.2 7.2 文件的操作文件的操作运行结果如下:Abc1.txt:a123456789b123456789c

8、123456789d123456789e123456789f1234567891abcdefghi2abcdefghi3abcdefghi4abcdefghi5abcdefghidai.txt:a123456789b123456789c123456789d123456789e1234567897.2 7.2 文件的操作文件的操作2. 用readline()方法读取文本文件对象的readline()方法是从当前行的当前位置开始读取指定数量的字符,并以字符串形式返回,语法格式如下:fileObject.readline(size)或变量名= fileObject.readline(size)7.2

9、 7.2 文件的操作文件的操作【例7-3】使用readline()方法,分行、分批读取Unicode编码格式的文本文件,要求过滤掉文本行末尾的换行符。通过字符串切片操作可以过滤掉文本行末尾的换行符,即把包含换行符的字符串加上“:-1”。file = open(D:Python练习data7-3.txt, r, -1, utf-16)line=file.readline(3)print(line)line=file.readline()print(line:-1) # 本行与下一行之间没有空行line=file.readline(3)print(line)line=file.readline()

10、print(line) # 本行与下一行之间有空行line=file.readline()print(line) # 本行与下一行之间有空行file.close()7.2 7.2 文件的操作文件的操作用记事本输入如下内容,以Unicode编码保存,存储路径为“D:Python练习data7-3.txt”。Merry Christmas.祝你和你的家人圣诞节快乐!Merry Christmas to you and your family.运行结果如下:Merry Christmas.祝你和你的家人圣诞节快乐!Merry Christmas to you and your family.7.2

11、7.2 文件的操作文件的操作3. 用readlines()方法读取文本文件对象的readlines()方法读取所有可用的行,并返回这些行所构成的列表类型(list),语法格式如下:fileObject.readlines(size)或变量名= fileObject.readlines(size)7.2 7.2 文件的操作文件的操作7.2.2 写文件1. 使用write()方法写入文本内容文件对象的write()方法向当前位置写入字符串,并返回写入的字符个数,语法格式如下:fileObject.write(str)【例7-4】创建一个Unicode编码格式的文本文件,输入文本内容,然后输出该文件

12、中的文本内容。file=open(D:/Python练习/data07_07.txt, w+, encoding=utf-16)print(请输入文本内容(QUIT=退出)print(-*50)line=input(请输入:)while line.upper() != QUIT: file.write(line+n) line=input(请输入:)file.seek(0) # 文件当前位置移到文件开头print(-*50)print(输入的文本内容如下:)print(file.read()file.close()7.2 7.2 文件的操作文件的操作运行结果如下:请输入文本内容(QUIT=退出

13、)-请输入:1234567890请输入:abcdefghijklmn请输入:quit-输入的文本内容如下:1234567890abcdefghijklmn7.2 7.2 文件的操作文件的操作2. 使用writelines()方法写入文本内容文件对象的writelines()方法在文本流当前位置依次写入指定列表中的所有字符串,语法格式如下:fileObject.writelines(seq)【例7-5】通过追加可读/写模式打开例7-4中创建的文本文件,输入文本内容将其添加到该文件末尾,然后输出该文件中的所有文本内容。file=open(D:/Python练习/data07_07.txt, a+,

14、 encoding=utf-16)print(请输入文本内容(QUIT=退出)print(-*50)lines=line=input(请输入:)while line.upper() != QUIT: lines.append(line+n) # 在列表尾部添加元素 line=input(请输入:)file.writelines(lines) # 把列表写入文件file.seek(0) # 将文件指针移动到文件开头print(-*50)print(文件0中的文本内容如下:.format(file.name)print(file.read()file.close()7.2 7.2 文件的操作文件的

15、操作运行结果如下:请输入文本内容(QUIT=退出)-请输入:33333333333333333333333333请输入:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa请输入:quit-文件D:/Python练习/data07_07.txt中的文本内容如下:1234567890bcdefghijklmn33333333333333333333333333aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa7.2 7.2 文件的操作文件的操作【例7-6】文件写入方法示例。file1=open(C:Python练习abc1.txt, a+) # 文件打开模式为追加方式s

16、1=aaaaaaaaaan # s1是一个字符串# s2是一个列表s2=11111111111111n, 22222222222222n, 333333333333333nfile1.write(s1) # write()方法写入字符串file1.writelines(s2) # writelines()方法写入列表file1.close() # 关闭文件file1 =open(C:Python练习abc1.txt, r) # 打开刚才写入的文件print(file1.read() # 读取文件所有内容并输出file1.close() # 关闭文件运行程序后用记事本打开abc.txt文件,可看到已经追加了新的内容。7.2 7.2 文件的操作文件的操作3. flush()方法flush()方法的语法格式如下:fileObject.flush()flush()方法把缓冲区的内容写入外存储器(如硬盘、U盘)。7.2 7.2 文件的操作文件的操作7.2.3 在文件中定位1. 使用tell()方法获取文件指针的位置调用文件对象的tell()方法获取文件指针的当前位置,其语法格式如下:fileOb

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号