文件操作
r 读
w 写
a 追加
函数:
f =open('字符串',mode = '对文件的操作模式',encoding = '编码方式') #f就是文件句柄
with open('字符串',mode = '对文件的操作模式',encoding = '编码方式')as f #默认自动关闭
1.r模式 只读模式
#r模式只能读,
f.read(指定位置) #可以指定读取内容的数量。读正常文本文本,会将读取的内容放在内存中,若数量太多,会占内存,故可以使用一行行的输出,或者使用for循环:
for i in f:
print(i)
f.readliine() #一行一行的读取,默认每一行末尾会跟着'\n',解决办法是在后面加.strip()
f = open('2', mode='r', encoding='utf-8') s = f.read() for i in f: s1 = f.readline() print(i)
rb在使用b的操作方式的时候不能指定编码方式,是操作字节的
s = f.read(指定位置) #读取的是字节,可以指定输出的字节的个数
2.w模式 只写模式
w模式只能覆盖写会自动创建文件,写入的时候先清空后写入
f.white('写入内容') #写入
f = open('1',mode = 'w',encoding= 'utf-8') #w模式自动会覆盖前面的内容 f.write('我真帅') f.close()
3. a模式 追加模式
#a模式是追加写,不能读,在文本末尾添加内容
f.white('追加写的内容')
4.r+模式,是读写模式
必须先读后写 r模式默认光标在最前面,故不能先写后读
f = open('2',mode = 'r+',encoding = 'utf-8') #r+模式必须是先读后写 print(f.read()) print(f.write('我好美,你喜欢不')) print(f.read())
5.w+ 写读模式
f = open('1',mode = 'a+',encoding= 'utf-8') #w+必须是先写在读 f.seek(18) f.write('我真帅') f = open('1',mode = 'w',encoding= 'utf-8') f.write('我好帅真滴帅我最帅') f.close()
f.write('写入内容')
s = f.read()
6.a+模式 追加(写) 读模式
注意:不管把光标怎么调追加的内容都在最后面
7.只要模式名后面带b就是操作字节
8.对文本内容进行修改:
实质是将需要的内容写在另一个文本
中,然后将原文本删了,将含有需要的内容的文本改名为原文本的名字,即完成修改.
with open('1',mode = 'w',encoding = 'utf-8') as f,\ open('2',mode = 'r',encoding = 'utf-8' ) as ff: for i in ff: s = i.replace('丑','帅') print(s) f.write(s) import os os.remove('2') os.rename('1','2')
9.其他操作:
f.seek() #移动光标位置,里面写0是调整光标到最开头
f.tell() #返回光标的位置(字节数)
f.close() #关闭文件 文件关闭之后无法进行 写入,要重新打开才能进行操作
f.truncate() #截断,将光标后面的内容删除
f.flush() #刷新
10.路径
相对路径: 相对于正在操作的文件所在的位置
转义: \ 改成 // #有时需要转义在前面加r 或者使用双斜杠
'.../day6/01 今日内容' 相对路径是相对于当前文件来说的路径
推荐使用相对路径
绝对路径: 从磁盘开始寻找这个文件的路径
eg: C:\Users\Administrator\Desktop\t.txt