Python open()内置函数 --读写txt文件
在windows系统上使用 open()
内置函数读写txt文件
环境
windows10
python3.8.6
VSCode
windows路径
windows系统里,常用斜杠 \
来表示绝对路径, 反斜杠 /
来表示相对路径
绝对路径
绝对路径
指从 盘符
开始的路径,比如 C:\Users\yu\11.txt
斜杠 \
在python中是转义字符,windows系统的绝对路径需要做处理
1 | # 使用 \\ 代替 \ |
相对路径
相对路径
指 相对于当前(打开的)文件夹
的路径,使用两个特殊符号点 .
和双点 ..
点 .
表示当前目录
双点 ..
表示当前目录的上一级目录
假设雨园文件夹
下有两个路径
/雨园文件夹/博客文件夹/文档.txt
/雨园文件夹/main.py
如果打开了 main.py
文件,那么当前目录是 雨园文件夹
main.py
文件和 博客文件夹
都在 雨园文件夹
中
# 雨园文件夹 相对路径
./
# 博客文件夹 相对路径
./博客文件夹/
# 文档.txt 相对路径
./博客文件夹/文档.txt
文件夹的相对路径以 /
结尾,文件的路径以文件的 后缀名
结尾
读取文件
打开文件 > 读取文件 > 关闭文件
桌面创建一个名为 python
的文件夹,里面有一个文件 abc.txt
,其内容为
雨园博客
1314
520
使用 VSCode
打开 python
,然后新建一个 open.py
文件,代码如下
1 | # 文件路径,与py文件在同一个目录下 |
变量 data
用于存放读取的文件数据,以供下一步操作
函数 open
有三个参数:
第0个参数 ./abc.txt 是文件路径,可以是绝对路径,也可以是相对路径
第1个参数 r 表示以 只读 的模式打开了文件,其它还有 w(只写) a(只追加)
第2个参数 encoding 决定数据的编码方式
read()
方法会一次性读取文件,不要用于读取大文件,其它还有 readline()
和 readlines()
1 | # 文件路径,与py文件在同一个目录下 |
\n
表示换行符
.close()
方法是关闭文件,这是必须项,原因有两个
1.计算机能打开的文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了
2.保证写入的内容已经在文件里被保存好了
文件关闭之后就不能再对这个文件进行读写了,如果还需要读写这个文件,就要再次 open()
打开这个文件
写入文件
打开文件 > 写入文件 > 关闭文件
向 abc.txt
文件写入文本
open.py
代码如下
1 | # 文件路径,与py文件在同一个目录下 |
此时 abc.txt
文件内容被替换为
博客
1314520
雨园博客1314520
雨园博客1314520
write()
括号内的参数只能写入字符串
writelines()
括号内的参数可以是序列(字符串/列表/元组)
w
模式会清空 abc.txt
文件原来的数据,然后写入新文件,如果只是追加内容,可以换成 a
模式
with关键字
为了避免打开文件后忘记关闭或者打开文件时出现异常(目录或文件不存在),可以使用 with
关键字
写入文件代码可以改成
1 | # 文件路径,与py文件在同一个目录下 |
文件模式
r: 读取模式
w: 写入模式,该模式会清除原有数据后重新写入
a: 追加模式,在原有数据上写入
这三种模式适用于读写 文本
图片、音频是使用二进制格式保存的,那么在读取它们时至少使用 rb
、 wb
、 ab
模式