Python常见读写文件操作实例总结【文本,json、csv、pdf等】

  

本文实例讲述了Python常见读写文件操作。分享给大家供大家参考,具体如下:

  

  

读写文件是最常见的IO操作,python内置了读写文件的函数,用法和c是兼容的。

  

读写文件前,我们必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(文件描述),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。

  

<强> 1,读文件

  

要以读文件的模式打开一个文件对象,使用python内置的open()函数,传入文件名和标识符:

        f=开放(“t1.txt”、“r”编码=皍tf - 8”)      之前      

标识符‘r’表示读。

  

如果文件不存在,open()函数就会抛出一个IOError的那么错误,并且会给出详细的错误码和信息,告诉你文件不存在。

        f=开放(“t122.txt”、“r”编码=皍tf - 8”)      之前      
  

回溯(最近的电话最后):
  ,文件“D:/学习/python/day14/测试。py”, 1号线,在& lt; module>
  ,,f=开放(“t122.txt”、“r”编码=皍tf - 8”)
  FileNotFoundError (Errno 2):没有这样的文件或目录:“t122.txt”

     

如果文件打开成功,接下来,调用读()方法可以一次性读取文件的全部内容,python把内容读取到内存,用一个str对象表示。

        print (f.read ())      之前      

输出:   

  

hello world !      

最后一步调用关闭()方法关闭文件,文件使用完毕之后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限制的。

        f.close ()      之前            开放(f=r”文件地址”,“读取方式”,编码=皍tf - 8”)   之前      
  

“r”:以只读方式
  编码:读取的编码格式
  f.read():一次性读取文件全部内容
  f.close():关闭流
  r”文件地址”:不让转义字符“\”起作用

     

由于文件读写都有可能产生IOError,那么一旦出错,后面的f.close()就不会调用,所以,为了保证文件不管是否执行出错都能够正确的关闭文件,我们可以使用试…最后来实现。

        试一试:   f=(t1开放。txt”、“r”,编码=皍tf - 8”)   print (f.read ())   最后:   如果f:   f.close ()      之前      

但是每次都这么写实在太繁琐,所以,引入了与语句来自动帮我们调用关闭()方法:

        张开(“t1。txt”、“r”,编码=皍tf - 8”) f:   print (f.read ())      之前      

这和前面的尝试…最后是一样的,但是代码更加简洁,并且不必调用f.close()方法。

  

注意:使用<代码>阅读()会一次性读取文件的全部内容,如果你的文件特别大,比如说有5克,那么你的内存就爆了,所以,为了保险起见,我们可以反复调用<代码>阅读(大小)方法,每次最多读取大小个字节内容,另外调用<代码> readline() 可以每次读取一行内容,调用<代码> readline() 一次性读取所有的内容,并按行返回列表,因此,要根据需要决定怎么调用。

  

如果文件很小,阅读()一次读取最方便,如果不能确定文件大小,反复调用读(大小)比较保险,如果是配置文件,调用readline()最方便。

        线的f.readlines ():   #把末尾的“\ n”删掉   print (line.strip ())      之前      

<强> 2,二进制文件

  

前面讲的默认都是读取文本文件,并且是utf - 8编码的文本文件,要读取二进制文件,比如图片,视频等等,用“rb”模式打开文件即可:

        f=开放(“tigle.jpg”、“rb”)   print (f.read ())   b \ xff \ xd8 \ xff \ xe1 \ x00 \ x18Exif \ x00 \ x00……“#十六进制表示的字节      之前      

<强> 3,字符编码

  

要读取非utf - 8编码的文本文件,需要给开放()函数传入编码参数,例如,读取GBK编码的文件:

Python常见读写文件操作实例总结【文本,json、csv、pdf等】