文件操作
一、文件操作常用的基本知识点
1、文件路径
1)、绝对路径:例如-"C:/Users/Administrator/Desktop/python/1.txt"
2)、相对路径:同一个文件夹下的文件就是相对路径
2、编码方式:GBK、UTF-8
3、打开方式
只读、只写、追加读写
基本模式语法:
#path:文件路径,mode:文件打开模式,encoding:编码方式,f:文件句柄 f = open(path, mode, encoding)
3.1、读:
只读: r rb
read read(n) readline() readlines() for循环
rb一般用在非文字类型的文件:图片,视频
文件的下载和上传的功能用b模式
读写(先读,后写) r+ r+b
一定要注意顺序,先读后写
读的五种模式:
1)、f.read() 全部读取出来
f = open('d:/test.txt',mode='r',encoding='utf-8') content = f.read() f.close() #关闭文件句柄
2)、f.readline() 按行读取文件(一次只能读取一行)
f = open('log', 'r', encoding='utf-8') line = f.readline() print(line) line1 = f.readline() print(line1) f.close()
3)、f.readlines() 读取每一行内容作为一个元素存入列表中
f = open('log',encoding='utf-8') #不写,默认为r读模式 lines = f.readlines() f.close()
4)、循环读取,每次内存中只能读取一行(推荐方式)
f = open('log', encoding='utf-8') for i in f: print(i) f.close()
3.2、写:
只写w wb
# w 如果没有文件,则创建文件写内容,
# 如果有文件则将原文件内容全部删除,在写.
写读 w+
# w 如果文件不存在,会创建新文件在写入,如果文件存在则会将原文件内容进行覆盖 f = open('log','w',encoding='utf-8') f.write('This is a write method.') f.close()
#wb的写入方式 f = open('log','wb') f.write('hello'.encode('utf-8')) f.close()
3.3、追加:
只追加 a ab
追加可读 a+ a+b
#追加 a ab f = open('log','a',encoding='utf-8') f.write('wusir紧跟其后') f.close()
# r+ r+b f = open('log','r+',encoding='utf-8') f.read() f.write('ABCDEF') f.close()
#w+ w+b f = open('log','w+',encoding='utf-8') f.write('this is a test.') f.seek(0) #移动光标位置 print(f.read()) f.close()
#a+ f = open('log','a+',encoding='utf-8') f.write('aaaa') f.tell() #获取光标位置 f.seek(6) #按照字节调整 f.close()
3.4、常用方法:
read readable readline readlines for循环
seek tell write writeable
3.5、修改文件内容的五个步骤
import os #1、创建一个新文件 #2、读取原文件 with open('log',encoding='utf-8') as f1,\ open('log.bak','w',encoding='utf-8') as f2: #3、将原文件的内容通过你想要的方式进行更改,并写入新文件件 old_content = f1.read() new_content = old_content.replace('hello','test') f2.write(new_content) #4、将原文件删除 os.remove('log') #5、将新文件重命名原文件名 os.rename('log.bak','log')