概述
在文件存储中,都是以 字节 为单位进行读写的,本质是 二进制的0和1,为了方便查看,通常用 16进制 展示。
mp3、图片、甚至是文本文件,其 原始内容 都是 二进制的0和1 ,在 二进制 模式读写时,是以 字节 为单位。
在用 文本 模式读写文本文件时,是自动做了转换,将字节 转换 为字符
由于mp3、图片等二进制文件的内容,不利于人眼识别,在本节中,为了便于 查看内容,例子通常以 二进制 模式读取 文本 文件,而且更容易了解文本文件的本质。
打开文件
读写文件,要先通过内置open()函数打开文件
语法open('文件路径',mode='模式')
常用参数说明:
file: 必需,文件路径(相对或者绝对路径)。
mode: 可选,文件打开模式,可省略。详细介绍在下面
注意:
采用 二进制 模式读取文件时,不要 指定编码,否则报错:
ValueError: binary mode doesn't take an encoding argument
常用模式:
二进制文件(如图片,也可以读取文本文件等):
‘rb’:只读
文件指针放在文件的开头。
文件必须存在,否则抛异常
‘rb+’:读写
文件指针放在文件的开头
文件必须存在,否则抛异常
b是binary[ˈbaɪnəri] 的缩写
例子f=open('d:\\1.txt','rb')
文件指针
当对文件进行操作时,内部有 文件指针 定位当前内容的位置,当用 读取模式 打开文件时,文件指针指向文件的开始位置,读取长度是n的内容后,文件指针会移动到n+1的位置
所以 读完 整个文件后,如果不移动文件指针,将 无法再次读取文件内容
打开文件如下图:
当文件内容都是英文时,一个 字节 对应一个 英文字符
读取整个文件后如下图:
关闭文件
读写文件后应 及时关闭 。如果不关闭&#