【笔记】Python3的文件读写

前言

Python3的文件读写学习笔记

打开或创建一个文件

  • 返回一个文件对象
  • 在文件已存在的情况下,如果省略访问模式,则访问模式默认为r

<file>:文件路径
<mode>:访问模式

r:缺省值,以文本的形式读取
见下表

1
f = open(<name>, <mode>)

mode选项

参数 读写选项 是否为二进制 文件不存在是否报错 文件指针位置
r 只读 报错 文件首部
r+ 只读 二进制 报错 文件首部
rb 读写 报错 文件首部
rb+ 读写 二进制 报错 文件首部
w 写入 新建文件 文件首部
w+ 写入 二进制 新建文件 文件首部
wb 读写 新建文件 文件首部
wb+ 读写 二进制 新建文件 文件首部
a 写入 新建文件 文件尾部
a+ 写入 二进制 新建文件 文件尾部
ab 读写 新建文件 文件尾部
ab+ 读写 二进制 新建文件 文件尾部

写操作

<str>:写入的内容

1
f.write(<str>)

读操作

<num>:读取数据的长度,单位字节

1
f.read(<num>) 
  • 读取文件所有内容
1
f.read()

以行的方式读取

读取所有行

1
content = f.readlines()

读取一行

  • 每次只读取一行,最后一次会读取到空字符串
1
2
3
4
while True:
line = f.readline()
if not line:
break

关闭流

1
f.close()

文件指针的操作

移动文件的指针

<offset>:偏移量
<start>:起始位置

0:文件首部
1:当前位置
2:文件尾部

1
f.seek(<offset>, <start>)

指针不偏移且放在文件首部

1
f.seek(0)

利用上下文管理器进行文件的读写

  • 当代码离开with代码块后,会自动执行关闭流操作

读操作

  • 读取(read)操作

<name>:文件

1
2
with open(<name>) as f:
print(f.read())

单操作

1
open(<name>).read()

写操作

覆盖写入

  • 直接覆盖写入(write)
  • 如果文件不存在,则自动创建新文件

<text>:需要写入文件的内容

1
2
with open(<name>, mode="w") as f:
f.write("<text>")
单操作
1
open(<name>, mode="w").write("<text>")

追加写入

  • 追加(append)写入
  • 如果文件不存在,则自动创建新文件
1
2
with open(<name>, mode="a") as f:
f.write("<text>")
单操作
1
open(<name>, mode="a").write("<text>")

完成

参考文献

哔哩哔哩——Python-清风
哔哩哔哩——千锋教育
CSDN——Python热爱者