7.1.1 文件的创建

Python3中移除了全局的file()函数,还保留了open()函数。文件的打开或创建可以使用函数open()。该函数可以指定处理模式,设置打开的文件为只读、只写或可读写状态。open()的声明如下所示。


open(file, mode='r', buffering=-1, encoding=None,
         errors=None, newline=None, closefd=True, opener=None) -> file object

【代码说明】

·参数file是被打开的文件名称。如果文件file不存在,open()将创建名为name的文件,然后再打开该文件。

·参数mode是指文件的打开模式。文件的打开模式如表7-1所示。

·参数buffering设置缓存模式。0表示不缓存;1表示行缓冲;如果大于1则表示缓冲区的大小,以字节为单位。

·open()返回1个file对象,file对象可以对文件进行各种操作。

表7-1 文件的打开模式

注意 对于图片、视频等文件必须使用“b”的模式读写。

file类用于文件管理,可以对文件进行创建、打开、读写、关闭等操作。file类的常用属性和方法如表7-2所示。

表7-2 file类的常用属性和方法

文件的处理一般分为以下3个步骤:

1)创建并打开文件,使用file()函数返回1个file对象。

2)调用file对象的read()、write()等方法处理文件。

3)调用close()关闭文件,释放file对象占用的资源。

注意 close()方法是必要的。虽然Python提供了垃圾回收机制,清理不再使用的对象,但是手动释放不再需要的资源是一种良好的习惯。同时也显式地告诉Python的垃圾回收器:该对象需要被清除。

下面这段代码演示了文件的创建、写入和关闭操作。


01     # 创建文件
02     context = '''hello world'''
03     f = open('hello.txt', 'w')             # 打开文件
04     f.write(context)                       # 把字符串写入文件
05     f.close()                                   # 关闭文件

【代码说明】

·第3行代码调用open()创建文件hello.txt,设置文件的访问模式为“w”。open()返回文件对象f。

·第4行代码把变量context的值写入文件hello.txt。

·第5行代码调用对象f的close()方法,释放对象f占用的资源。

后面讲解的文件读写、删除和复制等操作也将遵循这3个步骤。