在使用python编程时,经常会遇到读写文件的操作。很多童鞋困扰于读写文件的各种模式(如阅读、写入、追加等),以及搞不清open、read、readline、readlines、write等方法的使用。文件读写是python基本操作,本文从实例简要学习,并呈现其代码实现差异性。
文章目录
1、文件的打开与关闭:open函数和close函数
1.1 open函数
如果你想用python读取文件(如txt、csv等),第一步要用open函数打开文件。open()是python的内置函数,它会返回一个文件对象,这个文件对象拥有read、readline、write、close等方法。open函数有两个参数:
fo = open(‘file’,‘mode’)
参数解释
file:需要打开的文件路径
mode(可选):打开文件的模式,如只读、追加、写入等
mode常用的模式:
r:表示文件只能读取
w:表示文件只能写入
a:表示打开文件,在原有内容的基础上追加内容,在末尾写入
w+:表示可以对文件进行读写双重操作
当你需要以字节(二进制)形式读写文件时,只需要在mode参数中追加’b’即可:
rb:以二进制格式打开一个文件,用于只读
wb:以二进制格式打开一个文件,用于只写
ab:以二进制格式打开一个文件,用于追加
wb+:以二进制格式打开一个文件,用于读写
当你在默认模式下读取文本文件时(二进制文件不可以),文件中的换行符会转换为’\n’形式。
1.2 close函数
File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。
如下实例:
# 打开一个文件
fo = open("foo.txt", "w")
print("文件名: ", fo.name)
# 关闭打开的文件
fo.close()
1.3 with语句
在打开文件时,很多人通常直接用open(‘file’),这样并不酷。最好使用 with 关键字。优点是当子句体结束后文件会正确关闭,即使在某个时刻引发了异常。
例子:
with open('workfile') as f:
read_data = f.read()
f.closed
这是出于异常处理的一种文件打开方式。(是不是显得逼格更高呢?haha)
2、FILE对象
一个文件被打开后,你有一个file对象fo,你可以得到有关该文件的各种信息。以下是和file对象相关的所有属性的列表:
属性 | 描述 |
---|---|
file.close | 关闭文件,若关闭返回True |