文件是将程序和数据保存在磁盘、 U 盘、光盘等非易失存储介质上的最重要形式。
文件分类
文件分为文本文件和二进制文件。
文本文件将内容统统表示成字符序列,然后存储这些字符序列的编码值。内容易于读取
二进制文件按照内容本来的类型,以字节为基本单位存储表示这些内容的二进制值。
文本文件被称为无格式文件或者字符流文件,二进制文件被称为格式文件。
文件的操作
对文件操作的过程一般分为打开文件、读写或者操作文件、关闭文件等步骤。
打开文件 open()函数
文件的打开方式
方式 | 说明 |
---|---|
‘r’ | 只读方式打开(默认) |
‘w’ | 以写入方式打开文件,写入后覆盖已有的文件 |
‘a’ | 以写入方式打开,如过文件存在则在末尾追加写入 |
‘b’ | 以二进制模式打开文件 |
‘t’ | 以文本模式打开(默认) |
‘+’ | 可读写模式 |
打开文件模式主要有 r 、 w 、 a 三种,其中,以 r 形式打开时,文件读写指针位于0处,也就是文件的开始位置,文件原内容不受影响;以 w 形式打开时,文件读写指针位于0处,也就是文件的开始位置,文件原内容被清空;以 a 形式打开时,文件读写指针位于文件末尾,文件原内容不受影响。在 r 、 w 、 a 的后面加 b 表示打开的是二进制文件;否则,为文本文件。在 r 、 w 、 a 的后面加“+”表示文件以读写方式打开,既可以读文件的内容,也可以向文件写人内容。
文件常用的函数
函数 | 作用 |
f.close() | 关闭文件 |
f.read ( size =-1) | 从文件读取 size 个字符,当未给定 size 或给定负值的时候,读取剩余的所有字符,然后作为字符串返回 |
f.readline() | 以写入模式打开,如果文件存在,则在末尾追加写入 |
f.write(str) | 将字符串 str 写入文件 |
f.writelines ( seq ) | 向文件写入字符串序列 seq, seq 应该是一个返回字符串的可迭代对象 |
f.seek ( offset ,from ) | 在文件中移动文件指针,从 from (0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移 offset 个字节 |
f.tell | 返回当前在文件中的位置 |
使用open()打开文件后要用close()关闭