文件的新建 读写 写入数据:
open() —新建文件的操作 ,获取文件操作权限后,读、写操作
一般用到3个内置变量 open(file,more=‘r’,encoding='utf-8):
file:文件的路径 mode:对文件的操作,比如读、写 encoding =‘utf-8’ 指定编码
操作文件后最好写个关闭 .close()
对文件操作的有:
r —只读,读取的文件必须要存在,否则会报错,如果我们要进行读或写的文件里面有中文,那么就要设置编码为utf-8
r+ —读写,可以进行读写操作,但是目标文件必须存在,否则会报错
w —只写, 如果文件存在,则清空重新写,如果文件不存在,新建一个文件再去写
w+ —读写,如果文件存在,则清空重新写,如果文件不存在,新建一个文件再去写
a --追加,如果文件存在,直接追加,如果文件不存在,新建一个文件再去写
a+ —追加如果文件存在,直接追加;如果文件不存在,新建一个文件再去写,可以读
rb rb+ wb wb+ ab ab+ #文件流的形式的去写入文件的时候
注:
1.先读再写,写入的内容就会写在最后面
2.直接写:从头开始写,逐字覆盖写
3.写在指定位置 tell()获取当前位置; seek(offset,where) 偏移光标/位置
offset:开始的偏移量,也就是代表需要移动偏移的字节数 where 0头部 1当前位置 2 尾部
读取文件和写入的有:
.readline() ---读取一行内容,返回字符串形式的数据
.readlines() ---读取所有行 以列表的形式返回 每一行数据是列表一个字符串元素
.read(*) ---*读取字符长度,不输入默认读取全部
.write(*) ---*编写内容
代码:
# fp=open('url.txt','w',encoding='utf-8') #写一个文件,如果文件不存在,则新建一个文件
# fp.write('哈哈哈哈哈哈\n额呵呵呵呵')
#读文件
# r=open('url.txt','r',encoding='utf-8')
# # r_1=r.readline() #读一行数据
# # r_1=r.readlines()#读所有行
# r_1=r.read(1) #读取长度
# print(r_1)
#读写 r+
# r=open('url.txt','r+',encoding='utf-8')
# r.readlines()
# r_1=r.write('哈哈哈')
# print(r_1)
r=open('url.txt','r+',encoding='utf-8')
r.seek(2,0) #移动写的光标位置
# print(r.tell()) #获取当前位置
print(r.write('111')) #写入
r.close() #关闭文件
上下管理器,with open():
当我们老是忘记关闭文件可以用这个
代码:
with open('url.txt','w+',encoding='utf-8') as file:
file.write('今天演示失败,好沮丧')
print(file.closed) #判断是否已关闭文件,已关闭返回True,未关闭返回false