Python打开文件教程
在
在 Python 中,打开文件使用 Open
open函数详解
语法
file = open(file_name [, mode[, buffering]])
参数
参数
描述
file
表示打开文件成功后返回的文件对象。
file_name
要打开或者创建的文件名,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可,否则,此参数需要指定打开文件所在的完整路径。
mode
可选参数,用于指定文件的打开模式。可选的打开模式如下表所示。如果不写,则默认以只读(r)模式打开文件。
buffing
可选参数,用于指定对文件做读写操作时,是否使用缓冲区。
返回值
返回打开文件成功后返回的文件对象。
说明
open 函数的 mode
open函数打开模式详解
模式
说明
使用条件
r
只读模式打开文件,读文件内容的指针会放在文件的开头。
操作的文件必须存在。
rb
以二进制格式、采用只读模式打开文件,读文件内容的指针位于文件的开头,一般用于非文本文件,如图片文件、音频文件等。
操作的文件必须存在。
r+
打开文件后,既可以从头读取文件内容,也可以从开头向文件中写入新的内容,写入的新内容会覆盖文件中等长度的原有内容。
操作的文件必须存在。
rb+
以二进制格式、采用读写模式打开文件,读写文件的指针会放在文件的开头,通常针对非文本文件(如音频文件)。
操作的文件必须存在。
w
以只写模式打开文件,若该文件存在,打开时会清空文件中原有的内容。
若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
wb
以二进制格式、只写模式打开文件,一般用于非文本文件(如音频文件)
若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
w+
打开文件后,会对原有内容进行清空,并对该文件有读写权限。
若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
wb+
以二进制格式、读写模式打开文件,一般用于非文本文件
若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
a
以追加模式打开一个文件,对文件只有写入权限,如果文件已经存在,文件指针将放在文件的末尾(即新写入内容会位于已有内容之后);反之,则会创建新文件。
ab
以二进制格式打开文件,并采用追加模式,对文件只有写权限。如果该文件已存在,文件指针位于文件末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
a+
以读写模式打开文件;如果文件存在,文件指针放在文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
ab+
以二进制模式打开文件,并采用追加模式,对文件具有读写权限,如果文件存在,则文件指针位于文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
open函数打开文件的属性
成功打开文件之后,可以调用文件对象本身拥有的属性获取当前文件的部分信息,其常见的属性为:
属性
描述
file.closed
判断文件是否己经关闭,是一个
file.mode
返回被打开文件的访问模式。
file.name
返回文件的名称。
file.encoding
表示文件的编码。
案例
以只读模式打开文件
使用 open 函数的默认参数,以只读模式打开文件
print("嗨客网(www.haicoder.net)")
file = open("C:/haicoder.txt")
程序运行后,控制台输出如下:
我们使用 open 函数的默认参数,即以只读模式打开文件 “C:/haicoder.txt”,此时此文件不存在,因此,程序报错。现在我们创建该文件,再次运行该程序,控制台输出如下:
此时,我们看到,程序不再报错,即,我们使用 open 函数的默认参数打开文件时,文件必须存在,否则程序报错。
使用open函数获取文件信息
使用 open 函数打开文件后,可以获取文件信息
print("嗨客网(www.haicoder.net)")
file = open("C:/haicoder.txt", "rb+")
print("fileName =", file.name)
print("fileClosed =", file.closed)
print("fileMode =", file.mode)
程序运行后,控制台输出如下:
我们使用 open 函数的默认参数,即以只读模式打开文件 “C:/haicoder.txt”,打开成功后,根据返回的 file 对象,可以获取文件的相关属性。
使用open函数以读写模式打开文件
使用 open 函数以读写模式打开文件
print("嗨客网(www.haicoder.net)")
file = open("C:/haicoder.txt")
print("fileName =", file.name)
print("fileClosed =", file.closed)
print("fileEncoding =", file.encoding)
print("fileMode =", file.mode)
程序运行后,控制台输出如下:
我们使用 open 函数打开文件时,指定打开的模式为 “rb+”,即以读写模式打开文件,只有以读写模式打开文件之后,我们才可以对文件进行写入。
Python打开文件总结
在 Python 中,我们需要操作文件,那么首先我们就必须要打开文件,打开文件操作完毕后,还需要关闭文件,如果只打开文件,不关闭文件,会造成系统资源的浪费。
在 Python 中,打开文件使用 Open 函数。Python open 函数打开文件语法:
file = open(file_name [, mode[, buffering]])