python文件读写详解
Posted kelly11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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) 讲字符串写入文件,没有返回值
以上是关于python文件读写详解的主要内容,如果未能解决你的问题,请参考以下文章