博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python(三)-文件处理
阅读量:5869 次
发布时间:2019-06-19

本文共 1740 字,大约阅读时间需要 5 分钟。

版权声明:


本文作者为—陈鑫

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

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\n自动转换成\n (与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

你可能感兴趣的文章
switch命令大全
查看>>
Login "HP BladeSystem Onboard Administrator"
查看>>
Qt 读写 xml
查看>>
MyBatis如何防止SQL注入
查看>>
基于AJAX用户注册信息异步校验
查看>>
hive和关系型数据库RDBMS的异同
查看>>
chattr,lsattr命令使用详解
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
cisco packet tracer 站点到站点 基于ASA5505 IPSEC *** 实验
查看>>
我的友情链接
查看>>
学习反射技术(2)
查看>>
java log4j log日志文件名(+日期标记)
查看>>
将博客搬至CSDN:http://blog.csdn.net/u011405562
查看>>
如何正确安全地刹车六种刹车技巧面面观
查看>>
我的友情链接
查看>>
RocketMQ的一些特性
查看>>
Nginx 和 Apache 各有什么优缺点?
查看>>
Nginx配置nginx.conf的详细说明
查看>>
《大唐豪侠》架构开发纪实
查看>>