python处理文件
文本文件一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。
二进制文件直接由比特0和比特1组成,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符但特定格式形成的文件,例如,png格式的图片文件、avi格式的视频文件。
文件的基本操作
- 打开文件 open()
- 读写文件 read() /write()
- 关闭文件 close()
主要使用函数:
open()
f = open("文件的路径",mode = 'w+', encoding = 'utf-8')
# mode = 'w+' 以写的形式打开文件 可读可写
# ‘rb’:以二进制的形式读取文件
# encoding = 'utf-8' 指定编码方式
访问方式 | 描述 |
---|---|
r | 打开一个已有的文本文件,允许读取文件。只读模式如果文件不存在,返回异常FileNotFoundError |
w | 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。该模式下,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度(覆盖写),重新写入。 |
a | 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。该模式下,程序会在已有的文件内容中追加内容。 |
r+ | 打开一个文本文件,允许读写文件。(文件指针将会放在文件的开头) |
w+ | 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度(覆盖写),如果文件不存在,则会创建一个新文件。 |
a+ | 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。(如果文件存在文件指针位于文件的末尾) |
rb | 以只读方式打开一个二进制文件 |
rw | 以只写方式打开一个二进制文件 |
ra | 打开一个二进制文件追加 |
read()
f.read():一次性读取所有数据
f.readline(): 按照行读取数据
f.readlines(): 读取多行内容放入列表(列表中的元素,存在‘\n’)
write()
f.write(str) 将字符串写入到文件中
常用函数
方法 | 含义 |
---|---|
f.read(size=-1) | 从文件中读入整个文件内容。 |
f.readline(size=-1) | 从文件中读入一行内容。参数可选,如果给出,读入该行前size长度的字符串或字节流 |
f.readlines(hint=-1) | 从文件中读入所有行,以每行为元素形成一个列表。参数可选,如果给出,读入hint行 |
f.seek(offset) | 改变当前文件操作指针的位置,offset的值 0:文件开头;2: 文件结尾 |
f.writelines(lines) | 直接将列表类型的各元素连接起来写入文件f |
f.write(s) | 向文件写入一个字符串或字节流 |