前言:文件就像一个仓库,可以存储各种类型的数据。根据用途可以将文件分为数据库文件、图像文件、音频文件、视频文件、文本文件等。本篇主要介绍文本文件的处理。对于文本文件来说,通常的操作流程就是打开文件并创建对象,对该文件内容进行读取、写入、删除、修改等操作,关闭并保存文件
一、打开文件并创建对象
python中使用open函数()可以指定模式打开指定文件,并创建文件对象,函数格式如下: open(file[,mode='r'[,buffering=-1]])
file:打开文件的名称,如果该文件不存在于当前目录,则需要明确指出绝对路径
mode:指定打开文件后的处理方式,其中包括读、写、追加、二进制、文本和读写模式等
buffering:指定读写文件的缓冲模式,0表示不缓存,1表示使用行缓存模式,数值大于1表示缓冲区的大小,默认值为-1
二、对文本内容进行操作
对文件内容进行的操作包括:文件的读取、写入、追加,以及设置采用二进制模式、文本模式、读写模式等。下面针对读写操作进行详细讲解。
(1)向文本文件中写入内容
w:写入模式。如果文件已经存在,则先清空文件内容;如果文件不存在,则创建文件
x:写入模式,创建新文件,如果文件已经存在,则抛出异常
a:追加模式,也是写入模式的一种,不覆盖文件的原始内容
举例:在当前目录下,创建test文件并写入“hello world!\n”,选用w模式
s = 'hello world \n'
file = open('test.txt','w')
file.write(s)
file.close()
举例:再向已经存在test文件中写入“goodbye 2021”,且不清空原始内容,此时选用a模式打开文件。
h = "goodbye 2021!\n"
f = open('test.text','a')
f.write(h)
f.close()
(2)读取文件中的内容——有时需要加载文本中的某行或者全部内容,此时就需要用到文本的读取操作:
举例:读取目录下test.text文件的第一行(readline)内容:
举例:读取文本test.text所有内容
file = open('test.text','r')
print(file.read())
三、关闭文件对象
当操作完文件内容以后,一定要给关闭文件对象,这样才能确保所作的修改都保存到文件当中,如下图所示:
f.close()
文件操作基本流程——“打开——>读写——>关闭",如果读写过程中的代码引发了异常,就很难保证文件能够被正常关闭。
注:通常用with来自动管理资源,能保证文件的正确关闭,并且可以在代码执行结束后自动还原开始执行代码块时的现场!
举个例子:利用with关键字向文件test.text中继续添加“hello 2022”:
with open('test.text','a') as file:
file.write('hello 2022!')
f = open('test.text','r')
print(f.read())