python文件读写详解

  • # Python3
  • open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
     

文件打开模式     描述

      r              以只读模式打开文件,并将文件指针指向文件头;如果文件不存在会报错

      w             以只写模式打开文件,并将文件指针指向文件头;如果文件存在则将其内容清空,如果文件不存在则创建

      a              以只追加模式打开文件,并将文件指针指向文件尾部,若文件不存在则创建

      r+            在r的基础上增加了可写功能

      w+           在w的基础上增加了可读功能

      a+            在a的基础上增加了可读功能

      b              在读写而二进制文件,需要与上面几种模式搭配使用,如ab,wb,ab+

  • r+会覆盖当前文件指针所在位置的字符,如原来文件内容是"Hello,World",打开文件后写入"hi"则文件内容会变成"hillo, World"
  • w+与r+的不同是,w+在打开文件时就会先将文件内容清空,不知道它有什么用
  • a+与r+的不同是,a+只能写到文件末尾(无论当前文件指针在哪里)

python文件操作步骤:

读取文本文件:song.txt  

f=open('song.txt','r')

print(f.read())

f.close()

最佳实现:

为了避免忘记或者为了避免每次都要手动关闭文件,我们可以使用with语句(一种语法糖,语法糖语句通常是为了简化某些操作而设计的)。with语句会在其代码块执行完毕之后自动关闭文件。因此我们可以这样来改写上面的程序:

with open('song.txt','r')as f:
print(f.read())

python文件读取相关方法:

方法               描述

read()         一次读取文件所有内容,返回一个str

read()         每次最多读取指定长度的内容,返回一个str;

rendlines()  一次读取文件所有内容,按行返回一个list

readline()    每次只读取一行内容

此外,还要两个与文件指针位置相关的方法

方法               描述

seek(n)      将指针移动到指定字节的位置

tell()            获取当前文件指针所在字节的位置

file类的其他方法

方法                        描述

flush()                刷新缓冲区数据,将缓冲区的数据立即写入文件

next()                 返回文件下一行,这个方法也是file对象实例可以被当做迭代器使用的原因

write(str)            讲字符串写入文件,没有返回值

我是kelly-凯莉 每天努力一点点,幸运就多一点点
原文地址:https://www.cnblogs.com/kelly11/p/11800345.html