目录

一.文件概述

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

文件的打开模式,默认是只读模式

f1 = open('test.txt',mode="r",encoding="utf-8")   #打开当前目录下的 test.txt文件
f2 = open('../test.txt')  #打开上级目录下的 test.txt文件
f3 = open('D:/python/test.txt')  #打开D:/python目录下的test.txt文件
#encoding的意思是编码格式
#encode是编码
#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()方法。该语句还可以打

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

开多个文件