1、文件打开方式
文件打开方式包括:读模式、写模式及追加模式
2、读模式r
不能写,打开不存在的文件会报错
1)可以在代码运行相同路径创建文件,或者自定义创建文件,如果跟代码运行路径一样,就可以直接写文件名,否则要把文件路径也加上
f=open('test刘佳',encoding='utf-8') #打开文件,默认是读模式 print(f.read()) #读文件
输出结果是把文件内容全部读出来
2)读取一行内容
f=open('test刘佳',encoding='utf-8') #打开文件,默认是读模式 print(f.readline())#读取一行内容
输出结果为文件第一行内容
3)把每一行当做一个元素放到list中
f=open('test刘佳',encoding='utf-8') #打开文件,默认是读模式 print(f.readlines())#是把文件的每一行放list里面
输出结果为一个列表,文件中每一行是一个元素
3、写模式w
1)写入的文件不存在,会新建一个文件,在文件中写入内容
m=open('sss','w',encoding='utf-8') m.write('ddd') #文件不存在会新建一个文件
2)文件存在,写入后会清空原文件内容,只留下最新写的内容
f=open('test刘佳','w',encoding='utf-8') f.write('ceshi 测试')
最后文件内容只有“cehsi 测试”
3)写模式不能读
f=open('test刘佳','w',encoding='utf-8') f.write('ceshi 测试') #文件存在,写入后会清空原本文件内的内容,只留下写入内容 print(f.read()) #写模式不能读
执行该代码会报错,提示“not readable”
4、追加模式a
1)文件不存在会新建一个文件
m=open('ccc','a',encoding='utf-8') m.write('多大的') #文件不存在会新建一个文件
2)文件存在,在文件末尾增加内容
f=open('test刘佳','a',encoding='utf-8') f.write('测试一下') #文件存在,在文件末尾增加内容
3)追加模式不能读
f=open('test刘佳','a',encoding='utf-8') f.write('测试一下') #文件存在,在文件末尾增加内容 print(f.read()) #追加模式不能读
执行该代码会报错,提示“not readable”
5、读写模式r+
1)文件不存在会报错
2)文件存在,会在首行加入要写入的内容,并覆盖相同长度原本的内容
f=open('test刘佳','r+',encoding='utf-8') f.write('测试后') #文件存在,会在首行加入写入的内容
3)读写模式可读
f=open('test刘佳','r+',encoding='utf-8') print(f.read()) #可读
6、写读模式w+
1)文件不存在会新建一个文件
m=open('aa1','w+',encoding='utf-8') m.write('多大的') #文件不存在会新建一个文件
2)文件存在会清空原本文件内容,写入新内容
f=open('test刘佳','w+',encoding='utf-8') f.write('啊啊啊啊') #文件存在,写入后会清空原本文件内的内容,只留下写入内容(跟w相关,都会清空原本数据)
3)写读模式不能读文件也不会报错
f=open('test刘佳','w+',encoding='utf-8') print(f.read())#不报错也不能读
7、追加读模式a+
1)文件不存在会新建一个,并在末尾增加内容
m=open('aw1','a+',encoding='utf-8') m.write('多大的') #文件不存在会新建一个文件,在末尾增加内容
2)文件存在,不会清空,会在末尾增加内容
f=open('test刘佳','a+',encoding='utf-8') f.write('自知则知之做做') #文件存在,不会清空,在末尾增加内容
3)追加读模式不能读文件也不会报错
f=open('test刘佳','a+',encoding='utf-8') print(f.read()) #不报错也不能读