简单 文件操作
1变量 f_obj,f_handler,f_h,fh 文件句柄
open () python 的内置函数(内部调用的是windows的系统命令)
1 打开文件,产生文件句柄
2 对文件句柄进行操作
3.关闭文件句柄
读
对于r模式 mode 可以默认不写
例
f = open("你好世界","r",encoding="utf-8") date = f.read() print(date) f.close()
1 全部读取 read()
2 read(n) #在r模式下,n是按照字符来进行读取
3.readline() 一行一行的读
4.readlines() 全部读写,返回一个list
5.for 循环
f = open('你好世界',encoding='utf-8',mode='r') for line in f: print(line.strip()) f.close()
rb模式
文件操作中凡是带有b字母,都是与非文字类文件有关,(比如图片,视频)
f = open("美女.jpg","rb") date = f.read() print(date) f.close() #b'\xff\xd8\xff\xe1I\x07Exif\x00\x00II*\x00\x08\x00\x00\x00\x0f\x00\x0e\x01\x02\x00 \x00\x00\x00\xc2\x00\x00\x00\x0f\x01\x02\x00 \x00\x00\x00\xe2\x00\x00\x00\x10\x01\x02\x00 \x00\x00\x00\x02\x01\x00\x00\x12\x01\x03\x00\x01\x00\x00\x00\x01\x00\x00\x00\x1a\x01\x05\x00\x01\x00\x00\x00"\x01\x00\x00\x1b\x01\x05\x00\x01\x00\x00\x00*\x01\x00\x00(\x01\x03\x00\
r+模式 读写模式 先读后写
f = open('你好世界',"r+",encoding="utf-8") data = f.read() #如果不进行读,直接写入,就会在原来的文件的首内容进行更改,写入的内容占的位置与原内容有出入,会出现乱码的情况 f.write('\n666') f.close()
写
w, 写模式特点:没有文件,直接创建文件进行写入, 如果有文件,直接将文件内容清空,再进行写入
# f = open('你好世界2', encoding='utf-8',mode='w') # f.write('深圳市南山区,福田区,罗湖区。。。') # f.close()
wb 模式
f = open("美女.jpg","rb") data = f.read() f1 = open("美女1.jpg","wb") dara1 = f1.write(data) f.close() f1.close() #先将f以rb的模式读,然后再新建f1,以wb的模式进行写入,最后关闭文件
w+ 写读模式
f = open('你好世界2', encoding='utf-8',mode='w+') f.write('深圳市南山区,福田区,罗湖区。。。') #先进行写入 f.seek(3) # 调整光标 #移动光标到第三个字节,Utf-8,显示中文是一个中文是三个字节 content = f.read() print(content) f.close() #圳市南山区,福田区,罗湖区。。。
a 追加模式 如果有文件就直接在文件尾进行追加,如果没有文件,创建文件后写入内容
a+ a+b 追加读模式 追加读的bytes模式
f.seek() 移动光标的位置,按照字节移动光标,在不同的编码下,一位字符表示不同的字节
f.tell() 告知光标的位置
truncatre 要在writable模式下进行截取
主动关闭文件句柄
格式:with open(“文件”,"什么模式”) as f:
print(f.read())
多个句柄模式:
with open ( ) as f ,open () as f1:
文件改的操作
1.先以读的模式打开原文件,产生一个句柄f1
2.以写的模式创建一个新的文件,产生一个句柄2
3,读取源文件的内容,进行修改后添加到f2中
4.将原文件删除,
5,将新文件的名字重命名成原文件的名字