跳转至

第6章 文件操作

1 文件的使用

1.1 文件概述

Python 能够以文本和二进制两种方式处理文件。文本文件一般由单一特定编码的字符组成,例如 UTF-8 编码,内容容易统一展示和阅读。二进制文件直接由比特0和1组成,没有统一字符编码。二进制文件和文本文件最主要的区别在于是否有统一的字符编码。二进制文件由于没有统一字符编码,只能当做字节流,而不能看作是字符串。

1.2 文件的打开和关闭

Python 通过解释器内置的 open() 函数打开一个文件,并实现文件与一个程序变量的关联,格式如下:

1
    <变量名> = open(<文件名>, <打开模式>)
文件的打开模式:

文件的打开模式 说明
'r' 只读模式,如果文件不存在,返回异常
'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖
'x' 创建写模式,文件不存在则创建,存在则返回异常
'a' 追加加模式,文件不存在则创建,存在则在文件最后追加内容
'b' 二进制文件模式(可与其他模式组合使用)
't' 文本文件模式,默认值
'+' 读写模式(可与其他模式组合使用)

文件使用结束后使用 close() 方法关闭:

1
    <变量名>.close()
文件的对象属性:

属性 说明
closed 判断文件是否关闭,若温家安被关闭,则返回 True
mode 返回文件的打开模式
name 返回文件的名称

2 文件的读写

2.1 文件的读取方法

操作方法 说明
readall() 读入整个文件,返回一个字符串或字节流
read(size) 从文件中读入整个文件,如果给出参数,读入前size长度的字符串或字节流
readline(size) 从文件中读入一行内容,如果给出参数,读入前size长度的字符串或字节流
readlines(hint) 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入前hint行

2.2 文件的写入方法

操作方法 说明
write(s) 向文件写入一个字符串或字节流
writelines(lines) 将字符串列表写入文本文件
seek(offset) 改变当前文件操作指针的位置,0文件开头,1当前位置,2文件末尾