第8章 文件操作1_第1页
第8章 文件操作1_第2页
第8章 文件操作1_第3页
第8章 文件操作1_第4页
第8章 文件操作1_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

Python文件操作之文件读写FilesoperationUSINGPYTHON

——readorwrite文件的概念01文件的概念文件是存储在辅助存储器上的数据集合通常可以长久保存,也称为磁盘文件。文件的类型python3.X环境中:文件的默认编码是utf-8,字符串使用的编码是Unicode。

(1)基于字符编码,文件的内容就是字符(2)存取是以字符为单位的,输入/出字符

流的开始和结束由程序控制。(3)用通用的记事本就可以浏览,具有可

读性,因此,在存取时需要编码/解

码,从而花费一定的转换时间。文本文件(1)二进制文件直接由0,1组成,

没有统一字符编码(2)数据按照其实际占用的字节数存放(3)不需要编/解码,不存在转换时间,

但通常无法直接读懂二进制文件文件的概念如:c:\a\b\1.txt从根目录开始标识文件所在的完整路径的方式。同个文件,路径相同如:b\1.txt从所在位置开始标识,相对于程序所在目录位置建立参照引用文件所在的路径。同个文件,路径不同文件的访问相对路径:绝对路径:多级目录结构文件的概念python操作文件整体过程与使用Word软件编写一份文件的过程相同:打开文件或者新建立一个文件,读/写数据,关闭文件。用Python内置的open()函数打开一个文件。

fileobject=open(file_name[,access_mode][,buffering])文件对象文件路径和名称文件打开模式<0:默认为-1=0:关闭缓存区=1:缓存文件的行>1:缓存大小如果要读写一个文件,首先要建立一个文件对象,再利用文件对象提供的方法对文件的数据进行读写操作。文件的概念75%Conect()函数Connection对象模式描述r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式r+打开一个文件用于读写。文件指针将会放在文件的开头rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,则创建新文件wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,则创建新文件w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,则创建新文件文件打开模式——打开模式指定了打开文件后处理方式文件的概念模式描述wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,则创建新文件a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件进行写入ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,则创建新文件进行写入a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾,文件打开时采用的是追加模式。如果该文件不存在,则创建新文件用于读写ab+以二进制格式打开一个文件用于读写追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,则创建新文件用于读写小结

文件的类型文本文件二进制文件文件的访问绝对路径相对路径文件的打开模式读模式写模式追加模式010203文件的打开与关闭02文件的打开与关闭

fileobject=open(file_name[,access_mode][,buffering])属性描述closed如果文件已被关闭返回True,否则返回Falsemode返回被打开文件的访问模式name返回文件的名称buffer返回当前文件的缓冲区对象打开文件f1=open(“says.txt”,”r”)等价于:f1=open("E:/python/ptest/filesOpera/files/says.txt","r")#1.在当前目录下编写程序filedemo1.py,以读模式打开与源程序处于同一目录的says.txt文件例1:设当前目录:E:\python\ptest\filesOpera\files,下有两个文本文件:famous.txt和says.txt,一个空文件夹writefiles打开文件#2.在上一级目录下编写程序filedemo2.py,以二进制读模式打开处于源程序下一级目录的says.txt文件f2=open("files/says.txt","rb")等价于:f2=open("E:/python/ptest/filesOpera/files/says.txt","r")打开文件#3.writefiles下编写程序filedemo3.py,以写模式打开上一级目录的hello.txt文件f3=open("../hello.txt","w")等价于:f3=open("E:/python/ptest/filesOpera/files/hello.txt","w")文件不存在,则创建新文件文件存在,则覆盖原文件关闭文件文件打开状态下才能对文件进行读或取操作同样:文件关闭才能将数据写入磁盘利用python内置函数close()来关闭文件如:fileobject.close()关闭文件75%Connection对象Cursor对象需要注意的是,即使写了关闭文件的代码,也无法保证文件一定能够正常关闭。例如,如果在打开文件后和关闭文件之前发生了错误,导致程序崩溃,这时文件就无法正常关闭。在管理文件对象时推荐使用with关键字,可以有效避免这个问题。withopen(filename,mode)asfp:

文件对象操作语句;小结

打开文件

fileobject=open(文件路径,读写模式)关闭文件

fileobject.close()

with语句0102文件的读写03读文件91%51fileobject.read()fileobject.read(n)fileobject.readline(n)fileobject.readlines()格

式read():一次性读入文件中所有内容。read(n):读取指定的n个字符;若n大于文件长度,则读取所有内容。readline(n):若n没有,则读取一行,若n有,则读取一行中的n个字符。Readlines():一次性将文件的所有内容全部读出,以列表形式返回。

一般再次使用for循环从readlines()中提取每一行。withopen("files/famous.txt")asfp:print(fp.read())fp=open("files/famous.txt")print(fp.read())fp.close()读文件例2:读取当前目录下files文件夹下的famous.txt中的内容并输出。读文件#read(n):读取从文件头开始的前5字符withopen("files/famous.txt")asfp:print(fp.read(5))#readline():读取文件中第一行withopen("files/famous.txt")asfp:print(fp.readline())#readline(n):读取一行中的前12个字符withopen("files/famous.txt")asfp:print(fp.readline(12))#readlines():读取文件中所有行withopen("files/famous.txt")asfp:print(fp.readlines())Readlines()返回类型是列表,回车以\n显示,一般用for循环输出每一行内容。写文件fileobject.write(s)

S是一个待写入的字符串,写入多行时可以通过\n控制换行。fileobject.writeLines(s)

S可以是元组,列表,集合类型数据,写入多行时可以通过\n控制换行格

式写文件#以追加模式在原有文件后添加内容withopen("files/hello.txt","a")asfp:fp.write(":IamaChinses\n你是美国人:YouareanAmerican")#以写模式创建文件并写入内容withopen("files/hello.txt","w")asfp:fp.write("我是中国人")1.write()写文件2.writelines()#将列表内容写入courses.txt新文件str=("java程序设计\n","python程序设计\n","数据库应用")withopen("files/courses.txt","w")asfp:fp.writelines(str)小结

读文件fileobject.read()fileobject.read(n)fileobject.readline(n)fileobject.readlines()写文件fileobject.write()fileobject.writelines()0102CSV文件的读写04数据组织维度一维数据是最简单的数据组织类型,有多种存储格式,常用分隔符分隔(1)空格分隔

如:中国美国日本德国法国英国(2)用逗号分隔如:中国,美国,日本,德国,法国,英国(3)用特殊符号分隔如:中国;美国;日本;德国;法国;英国二维数据,也称表格数据,由关联关系数据构成,采用表格方式组织。高维数据由键值对类型的数据构成,采用对象方式组织,属于整合度更好的数据组织方式。高维数据在网络系统中十分常用,html,xml,json等都是高维数据组织的语法结构。数据组织维度CSV文件CSV(Comma-SeparatedValues),是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的。csv文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列,通常都是纯文本文件。建议使用Word或记事本来开启,在另存为新文档后用Excel开启也是方法之一。写CSV文件格式:csv写入对象.writerow(数据)例:在当前目录的files文件夹下创建“csvdemo.csv”文件,写入课程信息读CSV文件格式:csv.reader(文件对象变量)例:读取刚创建的“csvdemo.csv”文件,并将信息打印输出。小结

温馨提示

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

评论

0/150

提交评论