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")

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

python open打开html Python open打开文件_打开文件

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

python open打开html Python open打开文件_python对文件打开模式_02

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

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

python open打开html Python open打开文件_python open打开html_03

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

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

python open打开html Python open打开文件_python open打开html_04

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

Python打开文件总结

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

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

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