python:文件操作
一、文件操作
1.介绍
f:变量,f_obj,file,f_handler.....文件句柄
open window的系统功能
windows默认编码方式:gbk',linux默认编码方式是utf-8
f.close 关闭文件
2.参数
1.文件路径
绝对路径:从根目录开始,一级一级查找直到找到文件
相对路径:在同一个文件夹下
2.编码方式:文件以什么编码方式存储的,就以什么编码方式打开
3.执行动作(打开方式):只读,只写,追加,读写,写读
3.文件操作的基本流程
1打开文件,得到文件句柄并赋值给一个变量
1 f = open('log',encoding= 'utf-8',mode = 'r')#默认为r模式
2通过句柄对文件进行操作
1 s = f.read()
3关闭文件
1 f.close()
4.关闭文件的注意事项
打开一个文件包含两部分资源:操作系统级打开的文件+应用程序的变量。在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为:
1 f.close()#回收操作系统级打开的文件 2 def f#回收应用程序级的变量
其中del f一定要发生在f.close()之后,否则就会导致操作系统打开的文件还没有关闭,白白占用资源, 而python自动的垃圾回收机制决定了我们无需考虑del f,这就要求我们,在操作完毕文件后,一定要记住f.close()
5.with的用法
功能一:自动关闭句柄文件
功能二:一次性操作多个句柄
with open('log',encoding = 'utf-8')as f,\ open('log',encoding= 'utf-8',mode= 'r+')as f1: print(f.readline()) f1.write('asd')
6.读的操作
1.全部读出来f.read()#r如果文件过大可能出现问题
f = open('log',encoding = 'utf-8',mode = 'r') s = f.read() print(s)
2.一行一行的读f.readline()
1 with open('log',encoding= 'utf-8',mode = 'r') as f: 2 s = f.readline() 3 print(s)
1.将原文件读取到内存
2.在内存中进行修改,形成新的内容
3.将新的字符串写进新的文件
4.将原文件删除
5.将新文件重命名成原文件
1 import os 2 with open('log',encoding = 'utf-8')as f,\ 3 open('log4',encoding= 'utf-8',mode= 'w')as f1: 4 for i in f: 5 new_i = i.replace(i ,len(i)*'*') 6 f2.write(new_i) 7 8 os.remove('log') 9 os.rename('log4','log')