Python(三)-文件处理

版权声明:


本文作者为—陈鑫

本文的所有内容均来陈鑫总结,未经本人许可,禁止私自转发及使用。

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')  # 文件存在,则报错;不存在,则创建并写内容
View Code

"+"表示可以同时读写某个文件:

f = open('db','r+')  # 可读写文件,{可读;可写;可追加}

f = open('db','w+')  # 写读。

f = open('db','a+')  # 同a。
View Code

"U"表示在读取时,可以将 自动转换成 (与r或r+模式同使用)

f = open('db','rU')

f = open('db','r+U')
View Code

"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()
View Code

第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:
原文地址:https://www.cnblogs.com/cxcx/p/6047834.html