IO文件操作-其他方法

一、前面学习的方法

  读操作 f.read()  # 读取文件的所有内容,当文件读完后,指针会移动到文件的末尾

  写操作 f.write('nihao\n你好\n222\n')   # 针对文本文件模式的写,需要自己进行换行

二、其他的文件操作方法

  1.读操作

      f.readline()  # 每次读取一行内容,读取完成后指针移动到第二行的首部

      f.readines()  #  读取每一行的内容(即读取文件所有内容),存放到列表中

   注意:f.read()和f.readines()都是讲文件内容一次性读完,如果文件内容过大时,会引起内存溢出,若还想将内容全读入内存,则必须分多次读入,有两种实现方式:

   # 方式一

   with open('a.txt',mode='rt',encoding='utf-8') as f:

     for line in f:

      print(line) # 同一时刻只读入一行内容到内存中

    # 方式二
   with open('1.mp4',mode='rb') as f:
      while True:
          data=f.read(1024) # 同一时刻只读入1024个Bytes到内存中
          if len(data) == 0:
              break
          print(data)

   2.写操作:

    f.write('1111\n222\n') # 针对文本模式的写,需要自己写换行符

    f.write('1111\n222\n'.encode('utf-8')) # 针对b模式的写,需要自己写换行符

    f.writelines(['333\n','444\n']) # 文件模式

    f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式

三、了解

  f.readable() # 文件是否可读

  f.writable() # 文件是否可读

  f.closed # 文件是否关闭

  f.encoding # 如果文件打开模式为b,则没有该属性

  f.flush() # 立刻将文件内容从内存刷到硬盘

posted @ 2020-12-20 01:34  A熙  阅读(140)  评论(0)    收藏  举报