文件的打开关闭
python对文本文件和二进制文件采用统一的操作步骤 “打开——操作——关闭”。
打开后的文件处于占用状态,不予许重复打开。
python通过解释器内置的open()函数打开一个文件,并实现该文件与一个程序变量的关联:
<变量名> = open(<文件名>,<打开模式>)
open()函数有两个参数:文件名和打开模式。
文件名:文件的实际名称,也可以包含完整的文件路径
打开模式:
打开模式 | 含义 |
---|---|
‘r’ | 只读模式,如果文件不存在,返回异常FileNotFoundError,默认值 |
‘w’ | 覆盖写,文件不存在则创建,存在即完全覆盖,原始数据丢失 |
‘x’ | 创建写,文件不存在则创建,存在返回异常FileExistsError |
‘a’ | 追加写,文件不存在则创建,存在则在文件最后追加内容 |
‘b’ | 二进制文件模式 |
‘t’ | 文本文件模式 |
‘+’ | 与r/w/x/a一同使用,在原功能基础上追加读写功能 |
注意:文件使用结束后要使用close()方法关闭文件,释放文件的使用授权。<变量名>.close()
文件的读写
文件被打开后,根据打开方式对文件进行相应的读写操作。
当文件以文本文件方式打开时,读写按照字符串方式,采用当前计算机使用的编码或指定编码;
当文件以二进制文件方式打开时,读写按照字节流方式。
操作方式 | 含义 |
---|---|
<变量名>.readall() | 读入整个文件内容,返回一个字符串或字节流 |
<变量名>.read(size=-1) | 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流 |
<变量名>.readline(size=-1) | 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流 |
<变量名>.readines(hint=-1) | 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行 |
<变量名>.write(s) | 向文件写入一个字符串或字节流 |
<变量名>.writelines(lines) | 将一个元素全为字符串的列表写入文件 |
<变量名>.seek(offset) | 改变当前文件操作指针的位置,offset的值:0-文件开头;1-当前位置;2-文件结尾 |