文件操作
Posted lgw1171435560
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。
文件操作的几种模式:
r,r+,w,w+,a,a+,rb,wb,ab,r+b,w+b,a+b,
f.close()#关闭句柄
f.flush()#刷新
r+ 模式下,如果读取了内容,不论读取内容多少,光标显示的是多少,在写入或着操作文件的时候都是在结尾进行的操作.!
一.只读模式(r,rb) #rb读出来的是bytes类型,再rb模式下,不能选择encoding
rb的作?: 在读取非?本?件的时候. 比如读取MP3. 图像. 视频等信息的时候就需要?到
rb. 因为这种数据是没办法直接显?出来的. 在后?我们?件上传下载的时候还会?到. 还有.我们看的直播. 实际上都是这种数据.
二.写模式(w,wb) #如果没有文件,则会创建文件,如果文件存在,则将原文件内容删除,重新写入
#wb模式下可以不指定打开文件的编码,但写文件的时候必须将字符串转化成为"utf-8"的bytes数据
三.追加(a,ab) #如果没有,就创建文件夹,写入的内容会追加在文件的结尾
四.读写模式(r+,r+b) #此模式必须是先读,后写入因为光标默认在开头,读完了光标就到了文件末尾,写入才不会覆盖*****
五.写读(w+,w+b) #先将所有内容清空,后写入,最后读取,如果不主动移动光标到头,就会为空
六.追加读(a+) #如果没有,就创建文件夹,如果有追加读完,想读还允许移动光标读取,
七.其他操作:
seek(y,x) #移动光标的方法,x有三个值,0,1,2,分别代表开头,现在位置,末尾;y代表的是移动多少字节符,一个中文3个字节符,英文都是1个
tell() ,print(f.tell()) #查看光标现在的位置
truncate() #截断文件
八.覆盖(修改)文件
import os with open("?小娃娃", mode="r", encoding="utf-8") as f1, open("?小娃娃_new", mode="w", encoding="UTF-8") as f2: for line in f1: new_line = line.replace("?大?白梨梨", "冰糖葫芦") f2.write(new_line) os.remove("?小娃娃") # 删除源?文件 os.rename("?小娃娃_new", "?小娃娃") # 重命名新?文
九,相对路径和绝对路径:
相对路径:相对于当前程序所在的文件夹, 如果再文件夹内. 随便找. 直接写名字
如果不在这个文件夹内. 可能需要出文件夹或者进文件夹
出文件夹 ../
进文件夹 文件夹/
绝对路径:从磁盘根目录寻找路径,一般只有在记录日志的时候可以用到绝对路径
以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章