(7-05)文件的打开和关闭
原创
©著作权归作者所有:来自51CTO博客作者喜欢打篮球的普通人的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
- 1.文件打开
- 2.文件打开的方式
- 3.文件关闭
- 4.with语句
1.文件打开
- 程序中的数据都存储在内存中,当程序执行完毕后,内存中的数据将丢失。文件可以用来进行数据的长期保存。
- 使用open函数可以打开一个要做读/写操作的文件,其常用形式为:
open(filename, mode='r')
其中,filename是要打开文件的路径;mode是文件打开方式,不同文件打开方式可以组合使用,默认打开方式为'r'(等同于'rt')。
使用open函数打开文件后会返回一个文件对象,利用该文件对象可完成文件中数据的读写操作。
2.文件打开的方式
文件打开方式 描述
'r' 以只读方式打开文件(默认),不允许写数据
'w' 以写方式打开文件,不允许读数据。文件已经存在会将文件内容清空,文件不存在会创建新文件
'a' 以追加写的方式打开文件,不允许读数据。在文件已有数据后继续向文件中写新数据,文件不存在会创建新文件。
'b' 以二进制方式打开文件
't' 以文本方式打开文件(默认)
'+' 以读写方式打开文件,可以读/写数据
- 提示:文件中有一个文件指针,其指向当前要读/写数据的位置
(1)在打开文件时,如果打开方式中不包括’a’,则文件指针指向文件首的位置;随着读/写操作,文件指针顺序向后移动,直至读写完毕。
(2)如果打开方式中包括’a’,则文件指针指向文件尾的位置,此时向文件中写数据时就会在已有数据后写入新数据。 - 常用文件打开方式组合
文件打开方式 描述
'r+','rt+' 以文本方式打开文件并可以对文件进行读/写操作。文件不存在会报错
'w+','wt+' 以文本方式打开并可以对文件进行读/写操作。文件不存在会新建文件,文件已经存在则会清空文件内容
'a+','at+' 以文本、追加方式打开文件,可对文件进行读/写操作。文件不存在会创建新文件,文件已存在,则文件指针会自动移动到文件尾巴
'rb+' 与'r+'类似,只是以二进制方式打开文件
'wb+' 与'w+'类似,只是以二进制方式打开文件
'ab+' 与'a+'类似,只是以二进制方式打开文件
f=open('D:\\Python\\test.txt', 'w+')
即以“w+”方式打开文件“D:\\Python\\test.txt”,并将返回的文件对象赋给f,后面可用f对该文件进行读写操作。
3.文件关闭
- 使用open函数打开文件并完成读/写操作后,必须使用文件对象的close方法将文件关闭。
eg:假设有一个文件对象f,则在对f所对应的文件完成读/写操作后,应使用“f.close()”关闭文件。
f=open('D:\\Python\\test.txt', 'w+')
print('文件已关闭:',f.closed)
f.close()
print('文件已关闭:',f.closed)
结果:
文件已关闭:False
文件已关闭:True
4.with语句
- 使用with语句可以让系统在文件操作完毕后自动关闭文件, 从而避免忘记调用close方法而不能及时释放文件资源的问题。
with open('D:\\Python\\test.txt','w+') as f:#文件对象是f,让f去做读写操作
pass
print('文件已关闭:',f.closed)
结果:
文件已关闭:True