一、打开文件
格式:
open(file, mode, endcoding) | 打开并返回被打开的文件对象 |
---|
说明:
- file —— 字符串, 需要打开的文件的路径
名称 | 格式 | 含义 |
---|---|---|
绝对路径 | 全部 | 文件在电脑上全路径(了解) |
相对路径 | ./ | 当前py文件所在的目录, 可以省略 |
../ | 代表当前目录的上层目录 | |
.../ | 代表当前目录的上层目录的上层目录 |
- mode —— 字符串,文件的打开方式
模式 | 可做操作 | 若文件不存在 | 是否覆盖 |
---|---|---|---|
r | 只能读 | 报错 | - |
r+ | 可读可写 | 报错 | 是 |
w | 只能写 | 创建 | 是 |
w+ | 可读可写 | 创建 | 是 |
a | 只能写 | 创建 | 否,追加写 |
a+ | 可读可写 | 创建 | 否,追加写 |
模式 | 含义 |
---|---|
rb/br | 二进制格式的r |
wb/bw | 二进制格式的w |
- encoding - 字符串,文字编码方式
名称 | 含义 |
---|---|
utf-8 | 支持所有的语言 |
gbk | 只支持英文 |
注意:
a.读和写对应的编码要保持一致
b.非文本文件不能设置编码方式, 例如:图片,视频,可执行文件等...
c.以二进制的形式打开文件,不能设置encoding
d.给它传值的时候要使用关键字参数
二、操作文件
- 读操作
格式 | 含义 |
---|---|
文件对象.read() | 获取指定文件中的所有内容 |
文件对象.readline() | 获取指定文件中的一行内容 |
- 写操作
格式 | 含义 |
---|---|
文件对象.write('写入内容') | 以指定方式添加文件内容 |
三、关闭文件
文件对象.close()
四、文件操作 —— 简写
打开文件,操作完成后会自动关闭文件
格式:
with open(file, mode, endcoding) as 文件对象:
文件操作代码
示例:
用一个变量来保存当前文件执行的次数: 第一次执行py文件的时候打印1,第二次执行打印2....
# 将数据从文件中读出来
with open('files/data.txt', encoding='utf-8') as f:
num = int(f.read())
# 修改数据
num += 1
# 将新的数据再写入文件中
with open('files/data.txt', 'w', encoding='utf-8') as f:
f.write(str(num))
# 显示数据
print(num)