教程集 www.jiaochengji.com
教程集 >  Python编程  >  Python入门  >  正文 Python open函数详解:打开指定文件

Python open函数详解:打开指定文件

发布时间:2021-12-14   编辑:jiaochengji.com
教程集为您提供Python open函数详解:打开指定文件等资源,欢迎您收藏本站,我们将为您提供最新的Python open函数详解:打开指定文件资源

掌握了各种操作目录字符串或目录的函数之后,接下来可以准备读写文件了。在进行文件读写之前,首先要打开文件。

Python 提供了一个内置的 open() 函数,该函数用于打开指定文件。

open() 函数的语法格式如下:

<pre class="brush:html;toolbar:false">open(file_name [, access_mode] [, buffering])</pre>

在上面的语法格式中,只有第一个参数是必需的,该参数代表要打开文件的路径。access_mode 和 bufering 参数都是可选的。

在打开文件之后,就可调用文件对象的属性和方法了。文件对象支持如下常见的属性:

file.closed:该属性返回文件是否己经关闭。

file.mode:该属性返回被打开文件的访问模式。

file.name:该属性返回文件的名称。

如下程序简单示范了如何打开文件和访问被打开文件的属性:

<pre class="brush:html;toolbar:false"># 以默认方式打开文件 f = open('open_test.py') # 访问文件的编码方式 print(f.encoding) # cp936 # 访问文件的访问模式 print(f.mode) # r # 访问文件是否已经关闭 print(f.closed) # False # 访问文件对象打开的文件名 print(f.name) # open_test.py</pre>

上面程序使用 open() 内置函数打开了 open_test.py 文件,接下来程序访问了被打开文件的各属性。运行上面程序,可以看到如下输出结果:

<pre class="brush:html;toolbar:false">cp936 r False open_test.py</pre>

<span style="color: rgb(68, 68, 68); font-family: "Helvetica Neue", 微软雅黑, "Microsoft Yahei", Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);">从上面的输出结果可以看出,open() 函数默认打开文件的模式是“r”,也就是只读模式。下面详细讲解 open() 函数支持的不同模式。</span>

文件打开模式

open() 函数支持的文件打开模式如下图所示

<table><tbody><tr class="firstRow"><th>模式</th><th>意义</th></tr><tr><td>r</td><td>只读模式</td></tr><tr><td>w</td><td>写模式</td></tr><tr><td>a</td><td>追加模式</td></tr><tr><td> </td><td>读写模式,可与其他模式结合使用。比如 r 代表读写模式,w 也代表读写模式</td></tr><tr><td>b</td><td>二进制模式,可与其他模式结合使用。比如 rb 代表二进制只读模式,rb 代表二进制读写模式,ab 代表二进制追加模式</td></tr></tbody></table>

可能有读者感到疑惑,w 本身就代表写模式,w 还有什么意义呢?

简单来说,w 只是代表写模式,而 w 则代表读写模式,但实际上它们的差别并不大。因为不管是 w 还是 w 模式,当使用这两种模式打开指定文件时,open() 函数都会立即清空文件内容,实际上都无法读取文件内容。

根据上面的介绍不难看出,如果希望调用 open() 函数打开指定文件后,该文件中的内容能被保留下来,那么程序就不能使用 w 或 w 模式。

您可能感兴趣的文章:
Python open函数详解:打开指定文件
python fd是什么意思
python怎么创建文本文件
详解Python中open()函数指定文件打开方式的用法
怎么用python打开文件
Python read函数:按字节(字符)读取文件
Python写入文件的方式
python如何生成tar文件内容
python怎么读取文件内容
python如何将文本内容清空

[关闭]
~ ~