python文件的读写

文件的读写:

文件打开:

f = file(name, mode, [buffering])

入口参数:   

  1. name 文件名, 
  2.  mode 选项,字符串,   
  3. buffering 是否缓冲 (0=不缓冲,1=缓冲, >1的int数=缓冲区大小)

返回值 :  

  1. 文件对象

mode 选项:

  • "r" 以读方式打开,只能读文件 , 如果文件不存在,会发生异常
  • "w" 以写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件
  • "rb" 以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常
  • "wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件
  • "rt" 以文本读方式打开,只能读文件 , 如果文件不存在,会发生异常
  • "wt" 以文本写方式打开,只能写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件
  • "rb+" 以二进制读方式打开,可以读、写文件 , 如果文件不存在,会发生异常
  • "wb+" 以二进制写方式打开,可以读、写文件, 如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件

 

文件操作的常用方法:

  • f = open('file.txt','r+',encoding='utf-8')     #encoding参数可以指定文件的编码
  • f.readline()                   # 读一行,返回数据的类型为‘字符串’
  • f.readable()                    # 判断文件是否可读
  • f.writable()                   # 判断文件是否可写
  • f.encoding                     # 返回文件的编码
  • f.read()            # 读取所有内容,返回数据的类型为‘字符串’。大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
  • f.readlines()            #读取所有文件内容,返回数据的类型是’列表’,元素是每行的数据,大文件时不要用。因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆
  • f.tell()                  # 获取当前文件的指针指向
  • f.seek(0)              # 把当前文件指针指向哪
  • f.write('爱情证书')          # 写一个字符串到文件
  • f.writelines([‘123’,’456’,’789’])            # 写一个列表到文件
  • f.fulsh()                                             #写入文件后,立即从内存中把数据写到磁盘中
  • f.truncate()                                        #清空文件内容
  • f.close()                 # 关闭文件


高效读取文件的方法,是利用循环遍历读取文件的行:
f = open('file.txt')
for line in f:
  print line        # line是每行文件的内容,读完一行,就会释放一行的内存

使用with结构:
文件操作结束后需要关闭文件释放系统资源,但关闭文件常常会被忘记,使用with方法后文件会被自动关闭。
#打开一个文件,把这个文件的句柄付给f
with open('file.txt','r') as f:
  for line in f:
    print line 

posted @ 2018-08-18 14:54  小嘉欣  阅读(256)  评论(0编辑  收藏  举报