嗨客网搜索

Python打开文件

Python打开文件教程

Python 中,我们需要操作 文件,那么首先我们就必须要打开文件,打开文件操作完毕后,还需要关闭文件,如果只打开文件,不关闭文件,会造成系统资源的浪费。

在 Python 中,打开文件使用 Open 函数,关闭文件使用 Close 函数。

open函数详解

语法

file = open(file_name [, mode[, buffering]])

参数

参数 描述
file 表示打开文件成功后返回的文件对象。
file_name 要打开或者创建的文件名,如果要打开的文件和当前执行的代码文件位于同一目录,则直接写文件名即可,否则,此参数需要指定打开文件所在的完整路径。
mode 可选参数,用于指定文件的打开模式。可选的打开模式如下表所示。如果不写,则默认以只读(r)模式打开文件。
buffing 可选参数,用于指定对文件做读写操作时,是否使用缓冲区。

返回值

返回打开文件成功后返回的文件对象。

说明

open 函数的 mode 参数 和 buffering 参数是可选参数,file_name 是必选参数,其中 file 为函数的 返回值

open函数打开模式详解

模式 说明 使用条件
r 只读模式打开文件,读文件内容的指针会放在文件的开头。 操作的文件必须存在。
rb 以二进制格式、采用只读模式打开文件,读文件内容的指针位于文件的开头,一般用于非文本文件,如图片文件、音频文件等。 操作的文件必须存在。
r+ 打开文件后,既可以从头读取文件内容,也可以从开头向文件中写入新的内容,写入的新内容会覆盖文件中等长度的原有内容。 操作的文件必须存在。
rb+ 以二进制格式、采用读写模式打开文件,读写文件的指针会放在文件的开头,通常针对非文本文件(如音频文件)。 操作的文件必须存在。
w 以只写模式打开文件,若该文件存在,打开时会清空文件中原有的内容。 若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
wb 以二进制格式、只写模式打开文件,一般用于非文本文件(如音频文件) 若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
w+ 打开文件后,会对原有内容进行清空,并对该文件有读写权限。 若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
wb+ 以二进制格式、读写模式打开文件,一般用于非文本文件 若文件存在,会清空其原有内容(覆盖文件);反之,则创建新文件。
a 以追加模式打开一个文件,对文件只有写入权限,如果文件已经存在,文件指针将放在文件的末尾(即新写入内容会位于已有内容之后);反之,则会创建新文件。
ab 以二进制格式打开文件,并采用追加模式,对文件只有写权限。如果该文件已存在,文件指针位于文件末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
a+ 以读写模式打开文件;如果文件存在,文件指针放在文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。
ab+ 以二进制模式打开文件,并采用追加模式,对文件具有读写权限,如果文件存在,则文件指针位于文件的末尾(新写入文件会位于已有内容之后);反之,则创建新文件。

open函数打开文件的属性

成功打开文件之后,可以调用文件对象本身拥有的属性获取当前文件的部分信息,其常见的属性为:

属性 描述
file.closed 判断文件是否己经关闭,是一个 bool 值,True 表示已经关闭,False 表示未关闭。
file.mode 返回被打开文件的访问模式。
file.name 返回文件的名称。
file.encoding 表示文件的编码。

案例

以只读模式打开文件

使用 open 函数的默认参数,以只读模式打开文件

print("嗨客网(www.haicoder.net)") file = open("C:/haicoder.txt")

程序运行后,控制台输出如下:

22_Python 打开文件open函数.png

我们使用 open 函数的默认参数,即以只读模式打开文件 “C:/haicoder.txt”,此时此文件不存在,因此,程序报错。现在我们创建该文件,再次运行该程序,控制台输出如下:

23_Python 打开文件open函数.png

此时,我们看到,程序不再报错,即,我们使用 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)

程序运行后,控制台输出如下:

24_Python 打开文件open函数.png

我们使用 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)

程序运行后,控制台输出如下:

25_Python 打开文件open函数.png

我们使用 open 函数打开文件时,指定打开的模式为 “rb+”,即以读写模式打开文件,只有以读写模式打开文件之后,我们才可以对文件进行写入。

Python打开文件总结

在 Python 中,我们需要操作文件,那么首先我们就必须要打开文件,打开文件操作完毕后,还需要关闭文件,如果只打开文件,不关闭文件,会造成系统资源的浪费。

在 Python 中,打开文件使用 Open 函数。Python open 函数打开文件语法:

file = open(file_name [, mode[, buffering]])
嗨客网顶部