对文件操作流程
- 打开文件,得到文件句柄并赋值给一个变量
- f=open("path","r",encoding="utf-8")
- 通过句柄对文件进行操作
- f.read,f.write f.readline() 一行一行读取,全部在内存中 ,f.readline(), freadlines() 一次性读取,成字典,大文件读取效率慢,可能导致崩溃。
- for i in f: 逐行读取,并从内存中释放,读取速度快,读取超大文件不会导致电脑崩溃
- f.read,f.write f.readline() 一行一行读取,全部在内存中 ,f.readline(), freadlines() 一次性读取,成字典,大文件读取效率慢,可能导致崩溃。
- 关闭文件
- f.close()
文件开一次,只能读一次,打开文件记得关闭, 相关的方法, f.seek() 移动句柄位置,以字符算,
- f.tell() 返回句柄位置, 一般使用 with open("a.txt","w",enconding="utf-8") as f: 这样使用完成之后程序会自动关闭, 不会等到GC 工作之后关闭文件。
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
- f.close()