关于读写模式组合问题
file_name4 = "read_and_write.txt"
with open(file_name4, 'a+', encoding="utf-8") as f:
read_rest = f.read()
# 如果不存在1,则写入数据aaa
# 如果存在,则写入数据bbb
if '1' not in read_rest:
f.write('aaa')
else:
f.write('bbb')
f.write('\n')
老师,我把r+换成了a+或w+,结果每次运行,read_rest变量值都为空,难道a+模式或w+模式只能写不能读?请老师把各种模式组合功能作用作一详解。。
正在回答 回答被采纳积分+1
同学,你好:
w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
w+会将原有内容删除,a+文件指针会在结尾处,因此在写入前读取的时候结果为空;
文件的其他打开模式:
r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
r+:打开一个文件用于读写。文件指针将会放在文件的开头。
w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 2727 份
- 解答问题 8160 个
想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星