Python人工智能编程基础(微课版)课件 项目9-文件操作_第1页
Python人工智能编程基础(微课版)课件 项目9-文件操作_第2页
Python人工智能编程基础(微课版)课件 项目9-文件操作_第3页
Python人工智能编程基础(微课版)课件 项目9-文件操作_第4页
Python人工智能编程基础(微课版)课件 项目9-文件操作_第5页
已阅读5页,还剩37页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python人工智能编程基础项目九

文件操作主讲教师:XXX课前导入在经过类与函数的学习后,阿曹决定整理学习笔记,方便以后复习。在整理笔记、输入内容到文档的过程中,他突发奇想,想要尝试使用Python语言将笔记记录到文档中。通过学习平台,阿曹了解到计算机中有不同类型的文件,需要通过不同的Python模块进行操作,便迫不及待地开始实践。重难点重点:难点:文件的基本操作、读取与写入、文件管理内置模块对计算机文件的操作、文本文件多行写入CONTENTS文件的基本类型文件的读取与写入os模块和shutil模块文本内容操作目录CONTENTS01020304parTONE文件的基本类型01知识储备:计算机文件与其类型1计算机文件由一系列字节组成,字节(Byte)是计算机存储数据的最小单位。文件具有名称、大小、创建日期、修改日期等属性。计算机的操作系统提供了各种操作文件的功能,如创建、复制、移动、删除、重命名等。用户可以使用文件管理器程序或命令行界面来管理计算机上的文件。通过文件,用户可以存储和传输各种数据和信息。文本文件、图像文件、音频文件等,每种类型的文件有特定的文件扩展名(如.doc、.jpg、.mp3等)。计算机文件常见的文件类型:对于Python语言来说,常见的计算机文件可以大致分为以下两类:文本文件(TextFile):如以.txt为扩展名的纯文本文件、以.csv为扩展名且使用逗号分隔数据的文件等;二进制文件(BinaryFile):如图像文件、音频文件、视频文件等文件。知识储备:文件打开与关闭1在Python语言中,可以先使用内置的open()函数打开文本文件,再对该文件中的内容进行读取。file=open('file1.txt')在完成文件操作后,需要使用close()函数关闭文件file=open('file1.txt')#打开文件content=file.read()#使用read()函数读取整个文件中的内容file.close()#使用close()函数关闭文件在使用open()函数打开包含中文的文本文件时,可能会显示编码错误。如下UnicodeDecodeError:'gbk'codeccan'tdecodebyte...在读取和处理文本文件时,需要注意文件的实际编码方式。根据文件的编码方式,可以使用相应的编码方式对文件进行解码,将二进制数据转换为人类可读的字符形式。通常使用UTF-8编码打开文件。file=open('file1.txt',encoding='utf-8')#使用UTF-8编码对文件进行解码知识储备:文本文件打开模式1Python语言中常用的文件打开模式如表9.1所示。模式作用r只读模式(默认模式),用于从文件的开头开始读取文件中的内容rb二进制只读模式,用于二进制文件的读取w只写模式。如果文件存在,则清空文件中的内容后写入内容;如果文件不存在,则创建新文件并写入内容wb二进制只写模式,用于二进制文件的写入a追加模式。如果文件存在,则在文件的末尾追加写入内容;如果文件不存在,则创建新文件并写入内容ab二进制追加模式,用于二进制文件的追加写入r+读写模式,允许读取和写入文件,文件指针位于文件的开头w+读写模式,以删除文件中的内容为前提,允许读取和写入文件,文件指针位于文件的开头a+读写模式,允许读取和追加写入文件,文件指针位于文件的末尾x排他创建模式,用于创建新文件并以写入模式打开,在打开文件之前检查该文件是否已存在,如果该文件已存在,则操作失败\r回车\f换页\oyy八进制数yy代表的字符,例如,\o12代表换行\xyy十六进制数yy代表的字符,例如,\x0a代表换行\other其他的字符以普通格式输出9.1Python语言中常用的文件打开模式知识储备:文本文件打开模式1Python不同打开模式示例:file1=open('file1.txt','w') #以只写模式打开文件file2=open('file2.txt','a+') #以读写模式打开文件#文件操作代码content1=file1.read()

#读取整个文件中的内容content2=file2.read()

#读取整个文件中的内容#关闭文件file1.close()file2.close()知识储备:withopen()函数1为了较为方便、安全地处理文件,可以使用withopen()语句打开文件。withopen()语句是Python语言中用于文件操作的一种上下文管理器,它提供了一种简洁、可靠的方式来打开、读取或写入文件,并且在完成操作后自动关闭文件。withopen('filename','mode')asfile:

#文件操作代码

content=file.read() #读取整个文件中的内容其中,参数filename是要操作的文件的名称(可以包含文件路径),参数mode是文件打开模式,参数file是返回的文件对象的变量。withopen()语句的执行流程如下:(1)打开指定的文件,如果该文件不存在,则会引发FileNotFoundError异常。(2)将打开的文件对象赋值给变量file。(3)执行withopen()语句中的文件操作代码。(4)当退出withopen()语句时,withopen()语句会自动调用close()函数关闭文件。withopen()

语句是一种推荐的文件操作方式,不仅可以提高代码的可读性、可靠性和安全性,还可以使文件操作更加简洁和高效。知识储备:二进制文件的打开与关闭1在使用open()函数或withopen语句打开二进制文件时,需要在打开模式中指定以二进制模式打开。与其他文件相同,open()函数打开的二进制文件使用close()函数关闭,使用withopen()

语句打开的二进制文件则会自动关闭。file=open('filename','rb') #以二进制只读模式打开文件#文件操作代码content=file.read()

#使用read()函数读取整个文件中的内容file.close() #使用close()函数关闭文件withopen('filename','rb')asfile: #以二进制只读模式打开文件

#文件操作代码

content=file.read(100) #读取100字节任务实操——打开文本文件1任务实操打开文本文件本任务通过使用Python编程实现字符串的索引、替换等操作,帮助大家更好地应用Python解决实际问题。【例9.1】编写一个Python程序,要求接收用户输入的文本文件名,以默认只读模式打开该文件,并打印该文件中的内容。任务实操——打开文本文件1具体编程示例:filename=input('请输入要读取内容的文本文件的名称:')#接收用户输入的文件名withopen(filename,'r')asfile:#打开文件content=file.read()#读取文件中的内容print(content)#打印文件中的内容任务巩固——打开二进制文件1任务巩固打开二进制文件使用Python编程实现用户自定义输入同级目录下的文件与文件打开模式,并打印该文件中的内容。要求文本文件输出全部内容,二进制文件输出自定义字节的内容。任务巩固——打开二进制文件1输出结果示例1如下:您读取的文件的名称:介绍.txt您选择的读取模式:r您读取的是文本文件,现打印其内容如下:温州是中国浙江省的一个地级市,位于中国东南沿海地区。温州以其发达的私营经济和商业活跃度而闻名,被誉为“中国私营经济之乡”。温州的经济主要以制造业为主导,包括纺织、鞋业、机械、电子等领域。温州还拥有丰富的自然资源和优美的风景,吸引着许多游客前来观光旅游。输出结果示例2如下:您读取的文件的名称:介绍.docx您选择的读取模式:rb您选择的读取字节数:10b'PK\x03\x04\n\x00\x00\x00\x00\x00'示例:parTTWO文件的读取与写入02知识储备:文件的读取2在使用open()函数打开文件后,可以使用read()系列函数读取文件中的内容。1)read()函数read()函数用于一次性读取文件中的所有内容,并返回一个字符串。filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.read()#读取文件中的内容print(content)#打印文件中的内容在使用read()函数读取文件中的内容时,可以输入参数表示要读取的字符的数量。filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.read(10)#读取文件中指定数量的字符print(content)#打印文件中的内容知识储备:文件的读取22)readline()函数readline()函数用于逐行读取文件中的内容,每次调用该函数将返回一行内容。filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.readline()#读取文件中的一行内容知识储备:文件的读取22)readline()函数需要注意的是,打开一个文件并调用readline()函数输出一行内容后,当再次调用该函数时将会输出下一行内容,以此类推。filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content1=file.readline()#读取文件中的一行内容content2=file.readline()#读取文件中的一行内容content3=file.readline()#读取文件中的一行内容print('content1:',content1)#打印文件中的内容print('content2:',content2)print('content3:',content3)知识储备:文件的读取22)readline()函数在使用readline()函数读取文件中的内容时,同样可以输入参数表示要读取的字符的数量filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.readline(10)#读取文件中的一行内容print('content:',content1)#打印文件中的内容知识储备:文件的读取23)readlines()函数readlines()函数用于将文件中的内容读取到一个列表中,文件中的每行内容作为该列表中的一个元素在。filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.readlines()#读取文件中的内容print(content)#打印文件中的内容使用readlines()函数读取文件中的内容时,可以输入一个参数表示要读取的字符的数量,则该函数会返回所给字符数所在的那一行filename='介绍.txt'#文件名withopen(filename,'r',encoding='utf-8')asfile:#打开文件content=file.readlines(20)#读取至第20个字符所在的行的内容print(content)#打印文件中的内容知识储备:文件的写入2在使用open()函数打开文件后,可以使用write()函数进行文件内容的写入。在写入文件内容时,需要注意文件打开模式的选择,以下是几种模式打开文件后的区别。(1)w模式是只写模式,会在清空文件中的内容后写入内容,如果该文件不存在,则会创建一个新文件。示例如下:withopen('file.txt','w')asf:#以w模式打开文件f.write('Hello,world!')#写入内容(2)a模式是追加模式,会在文件的末尾追加写入内容,如果该文件不存在,则会创建一个新文件。示例如下:withopen('file.txt','a')asf:#以a模式打开文件f.write('Hello,again!')#写入内容知识储备:文件的写入2在使用open()函数打开文件后,可以使用write()函数进行文件内容的写入。在写入文件内容时,需要注意文件打开模式的选择,以下是几种模式打开文件后的区别。(3)r+模式是读写模式,会打开文件进行读写,如果该文件不存在,则会创建一个新文件。示例如下:withopen('file.txt','r+')asf:#以r+模式打开文件content=f.read()#读取文件中的内容f.write('Newcontent')#写入内容(4)w+模式是以删除内容为前提的读写模式,会在清空文件中的内容后写入内容,如果该文件不存在,则会创建一个新文件。示例如下:withopen('file.txt','w+')asf:#以w+模式打开文件f.write('Hello,world!')#写入内容content=f.read()#读取文件中的内容任务实操——读写文件2任务实操读写文件【例9.2】编写一个Python程序,对给定的文本文件进行行数统计。

提示:

使用readlines()函数读取文件,根据其返回的数据进行统计。【例9.3】编写一个Python程序,在同级目录下创建一个用户自定义的文本文件,接收用户输入的内容并将其写入该文件,直到用户输入的内容为空。提示:使用input()函数接收用户输入的内容,直到用户输入的内容为空。任务实操——读写文件2【例9.2】具体编程示例:withopen('介绍.txt','r',encoding='utf-8')asfile:#以w模式打开文件content=file.readlines()#读取内容print('本文件有{}行'.format(len(content)))#打印行数

【例9.3】具体编程示例:filename=input('请输入创建的文件名称:')#接收用户输入的内容withopen(filename,'w')asfile:#打开文件whileTrue:#循环接收用户输入的内容line=input('请输入内容:')ifnotline:#如果用户输入的内容为空,则退出循环 breakfile.write(line+'\n')#写入内容任务巩固——读取CSV文件中的内容2任务巩固读取CSV文件中的内容

使用Python编程实现CSV文件的读取,要求如下:①

每行作为一个列表读取,去除换行符,使用逗号隔开每个元素。②

将所有行列表保存到一个文件列表中。③

打印文件列表中的前10个元素。输入示例如下:['Year','Salary']['1','39451']['1.2','46313']['1.4','37839']['1.9','43633']['2.1','39999']['2.8','56750']['2.9','60258']['3.1','54553']['3.1','64553']parTTHREEos模块与shutil模块03os模块是Python语言中的一个模块,提供与操作系统进行交互的函数,用于执行与文件和目录相关的操作,如创建、删除、重命名文件和目录,访问文件和目录的属性,以及执行系统命令等。os模块中的部分函数如表9.2所示。知识储备:os模块3表9.2os模块中的部分函数函数名称功能说明os.getcwd()获取当前工作目录的路径os.chdir(path)改变当前工作目录到指定的路径os.listdir(path)返回指定路径下的文件和目录列表os.mkdir(path)创建一个新目录os.rmdir(path)删除指定的目录,该目录必须是空的os.remove(path)删除指定的文件os.rename(src,dst)重命名文件或目录os.path.exists(path)检查指定的路径是否存在os.path.isfile(path)检查指定的路径是否是一个文件os.path.isdir(path)检查指定的路径是否是一个目录shutil模块是Python语言中的一个文件操作工具模块,提供许多功能强大且便捷的方法,用于执行各种文件和目录操作。shutil模块和os模块都是Python语言中用于进行文件和目录操作的模块,其中os模块主要提供文件系统的基本操作功能,如对文件和目录的路径、权限和属性进行操作,包括文件和目录的创建、删除、重命名、路径处理、系统命令执行等;而shutil模块则主要提供文件和目录的高级操作功能,如复制、移动、归档、压缩、递归复制目录、创建和解压缩归档文件等。shutil模块中的部分函数如表9.3所示。知识储备:shutil模块3表9.3shutil模块中的部分函数函数名称功能说明shutil.copy(source,destination)复制文件从源路径到目标路径shutil.copy2(source,destination)复制文件,同时保留源文件的元数据(如修改时间和权限)shutil.copytree(source,destination)递归复制整个目录树,包括文件夹和文件shutil.rmtree(directory)递归删除整个目录树,包括文件夹和文件shutil.move(source,destination)移动文件或目录到目标位置shutil.make_archive(base_name,format,root_dir)创建归档文件(如zip或tar文件)shutil.unpack_archive(archive_name,extract_dir)解压缩归档文件到目标目录任务实操——查询工作环境3任务实操查询工作环境【例9.4】编写一个Python程序,使用os模块查看当前工作目录与该目录下的文件列表。【例9.5】编写一个Python程序,该程序接收用户输入的路径,检查该路径是否存在,如果存在,则输出该路径为目录/文件,并打印绝对路径,否则输出“该路径不存在”。【例9.6】编写一个Python程序,获取当前目录下的文件与目录列表,将所有后缀名为.txt的文件复制一份(副本文件的名称为原文件名+“副本.txt”)。【例9.4】具体编程示例:importos#导入模块print('当前工作目录:',os.getcwd())#打印当前工作目录print('当前工作目录下的文件列表:',os.listdir('.'))#“.”为相对路径中表示当前工作目录的符号运行程序,输出结果为:当前工作目录:c:\Users\cao\Desktop\Python文件操作当前工作目录下的文件列表:['os模块与shutil模块.ipynb','示例1.txt','示例2.txt']任务实操——查询工作环境3【例9.5】具体编程示例:importospath=input('请输入路径:')ifos.path.exists(path):#判断路径是否存在print('该路径存在')ifos.path.isfile(path):#判断是否为路径print('该路径为文件')print('绝对路径为',os.path.abspath(path))#打印绝对路径else:print('该路径为目录')print('绝对路径为',os.path.abspath(path))else: print('该路径不存在')任务实操——查询工作环境3【例9.6】具体编程示例:importosimportshutilfile_list=os.listdir('./')#相对路径“./”表示当前目录print(file_list)#打印初始文件forfileinfile_list:#循环遍历

ifos.path.isfile(file)andfile.endswith('.txt'):#如果为文件并且文件名以.txt结尾

file_name=os.path.splitext(file)#通过splittext()方法分离文件的前缀名与后缀名

shutil.copy(file,file_name[0]+'副本.txt')#复制文件至当前目录中,并设置副本文件的名称new_list=os.listdir('./')print(new_list)运行程序,输出结果为:['os模块与shutil模块.ipynb','示例1.txt','示例2.txt']['os模块与shutil模块.ipynb','示例1.txt','示例1副本.txt','示例2.txt','示例2副本.txt']任务实操——查询工作环境3任务巩固——转移文件3任务巩固转移文件编写一个Python程序,首先列出当前目录A下的所有文件和文件夹的名称,然后将其中的所有文件移动到一个新的名为files的文件夹中(如果该文件夹不存在,则先创建它),最后删除原始目录A(如果有的话)。输出结果如下:当前目录A下的文件:os模块与shutil模块.ipynb,示例1.txt,示例2.txt所有文件已成功移动原始目录已成功删除parTFOUR文本内容操作04文本光标是指在文本编辑器或阅读器中,用于标记当前编辑位置的小竖线。用户可以通过鼠标单击或键盘操作来移动光标的位置,从而对文本进行编辑、修改、删除等操作。在计算机编程中,文本光标也常用于表示当前程序执行的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论