Python中怎么读写文件

     python中对文件的操作大概分为三步:打开文件、操作文件(读、写、追加写入)、关闭文件。

1、无论对文件做哪种操作,操作前首先要保证文件被打开了,即需要一个打开的操作。

         例:open(XXX.txt)

     打开文件的同时,还要给文件赋一个操作权限,你需要对文件做什么,就赋什么权限:

     

文件打开模式描述
r 以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错
w 以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建
a 以只追加可写模式打开文件,并将文件指针指向文件尾部;如果文件不存在则创建
r+ 在r的基础上增加了可写功能,能读能写,但是打开不存在的文件会报错;先读再写,写在文件末尾,先写再读,写的时候直接覆盖第一行内容
w+ 在w的基础上增加了可读功能,使用w+打开时,默认就给文件先清空了;先读因为已经清空,读不到,先写再读,指针在文档末尾,也读不到,需要修改文件指针位置才能读到
a+ 在a的基础上增加了可读功能,能读能写,不会清空以前的文件;打开文件后,默认文件指针在文件末尾,所以打开后直接读读不到内容,需要移动文件指针:f.seek(0) ,给文件指针设置为文件开始位置,再读就能读到内容了
b 读写二进制文件(默认是t,表示文本),需要与上面几种模式搭配使用,如ab,wb, ab, ab+(POSIX系统,包括Linux都会忽略该字符)

 

    例:f = open('XXX.txt','r')    # 打开文件XXX.txt,并赋予读文件的权限

          f = open('XXX.txt','w')   # 打开文件XXX.txt,并赋予从头编写文件的权限

2、打开文件后,就可以对文件进行读写操作,首先是读操作

          res = f.read()     # 将文件中的值读出来赋值给res

          res = f.readlines()    # 一行一行的读文件

     然后是写操作

          f.write('abc'+'\n')     # 给文件写入:abc

3、关闭文件,文件打开并操作完成后,需要关闭。

          f.close()

4、还可以用with方法,打开文件用with,用完之后,自动关闭文件

         with open('ab.txt') as f:

               f.read()

 5、文件指针

  1)打开文件后,调用方法f.readlines(),文件指针跳转到文件末尾,这时再想读这个文件,读出来的就都是空的了,需要移动文件指针

    f.seek(0)     #把文件指针设置到文件开头位置,再读就可以读到内容了

  2)当前指针的位置:

    f.tell()   #返回当前指针的位置

    上述方法返回的位置,用的时候:

    point = f.seek()

    f.seek(point)

 6、清空文件内容

  f.truncate()  

7、刷新缓冲区,直接写到磁盘里

  f.flust()

  有时候执行 f.write('xxx')  后,文件内并没有写入内容,是因为有缓存,等缓存满了再一起写到磁盘,write方法后,加一句  f.flust()  ,就能立马写入文件了。

 

 

 

                

posted @ 2019-04-13 21:08  cindylpp  阅读(2885)  评论(0编辑  收藏  举报