#####################文件操作#################
'''
文件操作的步骤:
1.打开文件open
2.操作文件read、write
3.关闭文件close
注意:
文件存储的是二进制,读取文件应该读取的是字节,
但是Python3会自动将字节转换为字符给我们进行操作,读和写都以字符串进行操作;
如果需要以字节的形式打开和操作用rb/wb/xb/ab后面加b,这样的话读写都以字节形式操作。
'''
#1.打开文件方法一:普通方式(以字符串方式打开)
# r,只读模式【默认】
f =open('test.log','r',encoding='utf-8')
data = f.read()
f.close()
print(data,type(data))
# w,只写模式【不可读;不存在则创建;存在则清空内容;】
f =open('test.log','w',encoding='utf-8')
f.write('下雨天')
f.close()
# x, 只写模式【不可读;不存在则创建,存在则报错】
# a, 追加模式【不可读;不存在则创建;存在则只追加内容;】
f =open('test.log','a',encoding='utf-8')
f.write('rainyday')
f.close()
#2.打开方式二-以字节形式打开
#即在后面加b,文件操作都会以字节的形式进行,rb/wb/xb/ab
#3.打开方式三-同时读写文件
# r+:打开时指针在最前面,写的时候在末尾追加,指针到最后
f =open('test1.log','r+',encoding='utf-8')
print(f.tell())#打印指针
data = f.read()
print(data)
f.write('000')
print(f.tell())
f.close()
# w+:打开时先清空文件,则指针为
withopen('test1.log','w+',encoding='utf-8')asf :
data = f.read()
print(data)
print(f.tell())
f.write('new')
# x+:文件重复会报错,和w+类似
# with open('test1.log', 'x+', encoding='utf-8') as f :
# data = f.read()
# print(data)
# print(f.tell())
# f.write('new')
# a+:打开后,指针自动跳到最后,写的时候在尾部追加。
withopen('test1.log','a+',encoding='utf-8')asf :
data = f.read()
print(data)
print(f.tell())
f.write('222222new')
f.seek()
print(f.tell())
f.write('66')
#4.常用的几个函数
# tell():读取当前指针位置
# seek():设置当前指针位置
# read():读取文件
# close():关闭文件
# flush():将文件从内存刷新到磁盘(读写时文件是存放在内存的)
# truncate():配合指针使用,指针在哪,就截取指针前面的内容
# readline():一行一行的读取文件
#5.复制文件
withopen('test1.log','r',encoding='utf-8')asf1,open('test2.log','a+',encoding='utf-8')asf2:
forlineinf1:
f2.write(line)
领取专属 10元无门槛券
私享最新 技术干货