文件读写的读书笔记
一、文件的类型 —— 文本文件和二进制文件
- 二进制文件:由比特0和比特1组成,没有统一的字符编码
- 文本文件:基于字符编码的文件,有统一的字符编码
二、打开文件 —— open() 函数
1.open()函数格式 : <变量名> = open(<文件名>,<打开模式>)
注意:使用open()函数一定要保证关闭文件对象,即调用 <变量名>.close();
也可用关键字with让Python自行在不再需要访问文件后将其关闭。
2.open()函数提供7种基本的打开模式
打开模式(mode) | 含义 |
't' | 文本文件模式,默认值 |
'b' | 二进制文件模式 |
'x' | 创建写模式,文件不存在则创建,存在则返回异常FileExistsError |
'w' | 覆盖写模式,文件不存在则创建,存在则完全覆盖原文件 |
'r' | 只读模式,如果文件不存在返回异常FileNotFoundError,默认值 |
'a' | 追加写模式,文件不存在则创建,存在则在原文件最后追加内容 |
'+' | 与r/w/x/a一同使用,在原功能基础上增加读写功能(可读可写) |
三、文件的读写
1.Python提供4个常用的文件内容读取方法
方法 |
含义 |
<file>.readall() |
读入整个文件内容,返回一个字符串或字节流* |
<file>.read(size=-1) |
从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流 |
<file>.readline(size = -1) |
从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流 |
<file>.readlines(hint=-1) |
从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行 |
例1:文本文件逐行处理文件内容
fname = input("请输入要打开的文件: ") fo = open(fname, "r") for line in fo: print(line) #处理一行数据 fo.close()
2.Python提供3个与文件内容写入有关的方法
方法 |
含义 |
<file>.write(s) |
向文件写入一个字符串或字节流 |
<file>.writelines(lines) |
将一个元素为字符串的列表写入文件 |
<file>.seek(offset) |
改变当前文件操作指针的位置 offset的值:0:文件开头; 1: 当前位置; 2: 文件结尾 |