版权声明:
本文作者为—陈鑫
本文的所有内容均来陈鑫总结,未经本人许可,禁止私自转发及使用。
QQ: 499741233
E-mail: 499741233@qq.com
Python文件处理
文件句柄 = file ('文件路径', '模式')
注:Python中打开文件有两种方式,open(...)和file(...) 本质上前者在内部会调用后者来进行文件操作,推荐使用open。
第1章 打开文件
打开文件模式有:
f = open('db','r') # 只读模式,{默认}f = open('db','w') # 只写模式,{不可读;不存在则创建;存在则删除内容;}f = open('db','a') # 追加模式,{可读;不存在则创建;存在则只追加内容;}f = open('db','x') # 文件存在,则报错;不存在,则创建并写内容
"+"表示可以同时读写某个文件:
f = open('db','r+') # 可读写文件,{可读;可写;可追加}f = open('db','w+') # 写读。f = open('db','a+') # 同a。
"U"表示在读取时,可以将\r\n自动转换成\n (与r或r+模式同使用)
f = open('db','rU')f = open('db','r+U')
"b"表示处理二进制文件(如ftp上传ISO镜像,Linux忽略,windows处理二进制文件时需标注)
f = open('db','rb') # 二进制只读f = open('db','wb') # 二进制只写f = open('db','ab') # 二进制追加f = open('db','r')data = f.read()print(data,type(data))f.close()
第2章 操作文件
f = open('db','r+',encoding="utf-8")data = f.read(1) # 如果打开模式无b,则read,按照字符读取print(f.tell()) # tell当前指针所在的位置(字节)f.seek(f.tell()) # 调整当前指着你的位置(字节)f.write("777") # 当前指针位置开始覆盖print(data) # 打印输出f.close() # 关闭当前文件
通过源码查看功能
read() # 无参数,读全部;有参数,b字节,无b按字符tell() # 获取当前指针位置(字节)seek() # 指针跳转到指定位置(字节)write() # 写数据,b:字节,无b:字符close() # 关闭文件fileno() # 文件描述符flush() # 刷新文件内部缓冲区readline() # 仅读取一行truncate() # 截取,指针位置后的清空
第3章 for循环文件对象
f = open(“”)for line in f: print(line)
第4章 文件修改
# db文件里面有"xuliangwei"字符串 f = open("db","r",encoding="utf-8")f_new = open("db.bak","w",encoding="utf-8") for line in f: if "xuliangwei" in line: line = line.replace("xuliangwei","xuliangwei.com") f_new.write(line)f.close()f_new.close()
第5章 关闭文件
f.close() #直接close文件 避免打开文件后忘记关闭,统一通过管理上下文,即:with open('db1','r') as f1, open("db2",'w' )as f2: