2022年 11月 4日

关于python的文件操作 打开文件及关闭文件

目录

一.文件概述

1.1文本文件

1.2二进制文件

二.文件操作

2.1打开文件

2.1.1文件打开模式

三.关闭文件


一.文件概述

        程序运行时需要将数据加载到内存中,内存中的数据在断电后,数据
就会丢失,不能够永久的保存,如果我们要永久的存储数据则需要把数据
存储到文件或者数据库中。因此在本章中我们要掌握文件的处理是十分有
必要的。

        文件是数据的集合,可以存储文字,图片,音乐,视频等任何文件类
型。

1.1文本文件

        文本文件是一种由若干字符构成的文件,可以使用文件编辑器进
行阅读或编辑。以 .txt、.c、.py等为后缀的文件都是文本文件。

1.2二进制文件

        指的是不能使用文本编辑器打开阅读或编辑的文件。如mp3、
mp4,png等为后缀的文件都是二进制文件。如果想打开,或修改这些文
件,必须通过特定的软件。

        从本质上讲:文本文件也是二进制文件。计算机处理的都是二进制
文件。


二.文件操作

文件的操作主要有3个步骤:打开文件、读或写数据、关闭文件

2.1打开文件

        打开文件使用 open()函数来实现,语法格式如下:

        

open(file[, mode = 'r' [,...] ] )
  1. 认情况下使用open()函数打开文件时使用只读的方式打开
  2. 必须要保证文件是存在的,否则会报错文件不存在。
  3. 我们使用open()函数来打开一个文件,获取到文件句柄
  4. 然后通过文件句柄就可以进行各种各样的操作了
  5. 根据打开方式的不同能够执行的操作也会有相应的差异
  6. 打开文件的方式,默认使用的是r(只读)模式
参数 说明
file 被打开的文件名
mode 文件的打开模式,默认是只读模式
  1. f1 = open('test.txt',mode="r",encoding="utf-8")   #打开当前目录下的 test.txt文件
  2. f2 = open('../test.txt')  #打开上级目录下的 test.txt文件
  3. f3 = open('D:/python/test.txt')  #打开D:/python目录下的test.txt文件
  4. #encoding的意思是编码格式
  5. #encode是编码
  6. #decode是解码

2.1.1文件打开模式

open(file[, mode = 'r' [,...] ] )

mode 文件的打开模式,默认是只读模式
模式 权限 读/写格式 删除原内容 文件不存在 文件指针起始位置
‘r’ 文本  产生异
文件开头

‘r+’

读/写  文本  产生异
文件开头
‘rb+’ 读/写  二进制 产生异
文件开头
‘w’ 写  文本  新建文
文件开头
‘w+’ 读/写  文本  新建文
文件开头
‘wb+’ 读/写  二进制 新建文
文件开头
‘a’ 追加  文本 新建文
文件结尾
‘a+’ 读/写/
追加
文本  新建文件 文件结尾
‘ab+’ 读/写/追加 二进制 新建文件 文件结尾

解释:

  • ‘r’表示向文件中读取数据
  • ‘w’表示向文件中写入数据
  • ‘a’表示向文件中追加数据
  • ‘+’可以与以上3中模式配合使用,表示同时允许读和写
  • ‘b’ 处理二进制文件

三.关闭文件

对文件操作完成后,要关闭文件,才能保证所修改的数据保存到文件中。还可以释放内存资源让其它程序使用。语法格式如下

文件对象名.close()

通过open()函数打开文件’test.txt’,返回一个文件对象并赋值给f1,最后通过文件对象调用close()方法关闭文件。

注意:使用close()方法,有时候在打开文件之后和关闭文件之前发生错误导致程序崩溃,此时文件无法正常关闭,因此推荐使用 with关键字。可以有效的避免这个问题。

with open('test.txt','rw') as f1:

使用 with-as语句后,就不需要再显示使用 close()方法。该语句还可以打

  1. with open('test.txt','rw') as f1 , open('test2.txt','rw')
  2. as f2:

开多个文件