文件访问模式
python共三大主访问模式r、w、a
模式 | 描述 |
---|---|
r | 以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。 |
rb | 以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。 |
r+ | 打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。 |
rb+ | 以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。 |
w | 打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。 |
wb | 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。 |
w+ | 打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。 |
wb+ | 以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。 |
a | 打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 |
ab | 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。 |
a+ | 打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。 |
ab+ | 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。 |
"""
测试目标
1. 访问模式对文件的影响
2. 访问模式对write()的影响
3. 访问模式是否可以省略
"""
# r: 如果文件不存在,报错;不支持写入操作,表示只读
# f = open('test1.txt', 'r')
# f = open('test.txt', 'r')
# f.write('aa')
# f.close()
# w:只写, 如果文件不存在,新建文件;执行写入,会覆盖原有内容
# f = open('1.txt', 'w')
# f.write('bbb')
# f.close()
# a:追加,如果文件不存在,新建文件;在原有内容基础上,追加新内容
# f = open('2.txt', 'a')
# f.write('xyz')
# f.close()
# 访问模式参数可以省略, 如果省略表示访问模式为r
f = open('1.txt')
f.close()
基于主访问模式的所有其他访问模式都遵从主访问模式的特性
"""
测试目标
1. r+ 和 w+ a+ 区别:
2. 文件指针对数据读取的影响
"""
# r+: r没有该文件则报错; 文件指针在开头,所以能读取出来数据
# f = open('test1.txt', 'r+')
# f = open('test.txt', 'r+')
# w+: 没有该文件会新建文件;w特点:文件指针在开头,用新内容覆盖原内容
# f = open('test1.txt', 'w+')
# f = open('test.txt', 'w+')
# a+:没有该文件会新建文件;文件指针在结尾,无法读取数据(文件指针后面没有数据)
f = open('test.txt', 'a+')
con = f.read()
print(con)
f.close()