6.1 文件的使用
6.1.1 文件概述
Python 能够以文本和二进制两种方式处理文件。文本文件一般由单一特定编码的字符组成,例如 UTF-8 编码,内容容易统一展示和阅读。二进制文件直接由比特0和1组成,没有统一字符编码。二进制文件和文本文件最主要的区别在于是否有统一的字符编码。二进制文件由于没有统一字符编码,只能当做字节流,而不能看作是字符串。
6.1.2 文件的打开和关闭
Python 通过解释器内置的 open() 函数打开一个文件,并实现文件与一个程序变量的关联,格式如下:
<变量名> = open(<文件名>, <打开模式>)
文件的打开模式:
文件的打开模式 | 说明 |
---|---|
'r' | 只读模式,如果文件不存在,返回异常 |
'w' | 覆盖写模式,文件不存在则创建,存在则完全覆盖 |
'x' | 创建写模式,文件不存在则创建,存在则返回异常 |
'a' | 追加加模式,文件不存在则创建,存在则在文件最后追加内容 |
'b' | 二进制文件模式(可与其他模式组合使用) |
't' | 文本文件模式,默认值 |
'+' | 读写模式(可与其他模式组合使用) |
<变量名>.close()
文件的对象属性:
属性 | 说明 |
---|---|
closed | 判断文件是否关闭,若温家安被关闭,则返回 True |
mode | 返回文件的打开模式 |
name | 返回文件的名称 |
6.2.1 文件的读取方法
操作方法 | 说明 |
---|---|
readall() | 读入整个文件,返回一个字符串或字节流 |
read(size) | 从文件中读入整个文件,如果给出参数,读入前size长度的字符串或字节流 |
readline(size) | 从文件中读入一行内容,如果给出参数,读入前size长度的字符串或字节流 |
readlines(hint) | 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入前hint行 |
操作方法 | 说明 |
---|---|
write(s) | 向文件写入一个字符串或字节流 |
writelines(lines) | 将字符串列表写入文本文件 |
seek(offset) | 改变当前文件操作指针的位置,0文件开头,1当前位置,2文件末尾 |