资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

【Python从入门到精通】Python对文件的读写操作一览表,非常实用,非常简单

来源:公司资讯 | 2021.08.19

开放式功能
  Python对于文件操作更方便。没有像Java那么多的IO操作类。首先欢迎使用open函数,主要用于创建或打开文件。语法格式为:
  
  文件=打开(文件名,模式=“r”,缓冲=无,编码=无,错误=无,换行=无,closefd=True)
   1
   file:表示要创建的文件对象。
   file_name:要创建或打开的文件的文件名。名称应括在引号中。需要注意的是,如果要打开的文件和当前执行的代码文件在同一目录下,直接写文件名即可。否则,此参数需要指定文件打开的完整路径。
   mode:可选参数,用于指定文件的打开方式,可选的打开方式如下表所示。如果不写入,默认情况下文件以只读 (r) 模式打开。
   buffering:可选参数,用于指定读写文件时是否使用buffer。如果buffering参数的值为0(或False),表示打开指定文件时不使用缓冲区;如果缓冲参数的值为大于1的整数,则该整数用于缓冲区的大小(以字节为单位); if buffering 参数的值为负数,表示使用默认的缓冲区大小。默认情况下,open 函数打开缓冲区。
   encoding:手动设置打开文件时使用的编码格式。不同的平台有不同的编码参数值。以Windows为例,默认GBK编码。
  
  表 1 open 函数支持的文件打开方式
  
  模式含义的注释
  r 以只读方式打开文件,读取文件内容的指针会放在文件的开头。要操作的文件必须存在
  rb 为二进制格式,使用只读方式打开文件,读取文件内容的指针位于文件的开头,一般用于非文本文件,如图像文件、音频文件操作、文件必须存在
  r+ 打开文件后,可以从头开始读取文件内容,也可以从头开始往文件中写入新内容,写入的新内容会覆盖文件的中等长度原始内容操作文件必须存在
  rb+ 以读写方式打开二进制格式的文件。读写文件的指针会放在文件的开头。通常,非文本文件(如音频文件)的文件必须存在 w 以只写模式打开文件。如果文件存在,则打卡时会清除文件中原有的内容。如果文件存在,则清除其原有内容(覆盖文件);否则,将创建一个新文件。
   wb 以二进制格式打开文件,只写模式,一般用于非文本文件(如音频文件)。如果文件存在,则其原始内容将被清除(覆盖文件);否则,将创建一个新文件。
   w+ 打开文件后,原来的内容会被清除,文件有读写权限。如果文件存在,则其原始内容将被清除(覆盖文件);否则,将创建一个新文件。
   wb+ 以二进制格式打开文件,读写方式,一般用于非文本文件。
   a 以追加模式打开一个文件,该文件只有该文件的写权限。如果文件已经存在,则将文件指针放在文件末尾(即新写入的内容将位于现有内容之后);否则,将创建一个新文件
  ab 以二进制格式打开文件,并使用追加模式只对文件进行写权限。如果文件已经存在,则文件指针位于文件末尾(新写入的文件将位于现有内容之后);否则,创建一个新文件
  a+ 以读写模式打开文件。如果文件存在,将文件指针放在文件末尾(新写入的文件将位于现有内容之后);相反,创建一个新文件
  ab+ 以二进制方式打开文件,使用追加方式对文件有读写权限。如果文件存在,则文件指针位于文件末尾(新写入的文件将位于现有内容之后);相反,创建一个新文件。
  从上表中,我们可以得出以下结论:
  
  带b的模式是以二进制格式打开文件,例如模式rb;wb;ab中带+的模式
  是以读写模式打开文件。说白了就是可以读写文件,比如模式 r+;w+;a+;rb+;wb+;ab+
  没有b,或者+,比如r模式是只读的,w模式是只写,a模式是只追加文件。
  文件读取
  读取文件的三种方式:
  
   file.read(size) 方法,逐字节或字符读取获取文件的内容。 file 表示打开的文件对象,size 是一个可选参数,用于指定一次可以读取的最大字符(字节)数。如果省略,则默认一次性读取所有内容。
   file.readline(size) 方法:逐行读取文件内容。 file 表示打开的文件对象,size 是可选参数,用于指定读取每行时一次读取的最大字符数(字节)。您可以循环读取文件的所有内容。
   file .readlines() 方法:一次读取文件中的多行,读取结果以列表的形式返回。
  

—— 灵通云微信公众号 ——

热门标签

上一条———————

下一条———————

十七年 建站经验

多一份参考,总有益处

联系灵通云,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-688-6062 / 大客户专线   南通:15818561755