【Python】学习笔记总结3(Python文件操作)
文章目录
- 三、Python文件操作
- 1.打开`open('文件名','打开模式')`
- 2.写操作
- 3.读操作
- 4.With上下文管理对象
- 小结
- 案例
- 5.文件定位
三、Python文件操作
1.打开open('文件名','打开模式')
fileA = open('./Test.txt','w',encoding='utf-8')
- 打开模式
打开模式 | 模式说明 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
w | 打开一个文件只用于写入。 如果该文件已存在则将其覆盖。如果该文件不存在, 创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开-一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开-一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
rb+ | 以二进制格式打开-一个文件用于读写。文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开-一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 |
ab+ | 以二进制格式打开-一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
2.写操作
- 字符串形式,默认gbk编码
fileA = open('./Test.txt','w',encoding='utf-8')
fileA.write('写入的内容')
fileA.close()
- 二进制形式写入
fileA = open('./Test2.txt','wb')
fileA.write('写入的内容'.encode('utf-8'))
fileA.close()
- 追加写入a
fileA = open('./Test.txt','a')
fileA.write('写入的内容')
fileA.close()
- 追加写入ab
fileA = open('./Test.txt','ab')
fileA.write('写入的内容'.encode('utf-8'))
fileA.close()
3.读操作
- 读取所有
fileA = open('./Test.txt','r',encoding='utf-8')
print(fileA.read())
fileA.close()
- 读取几个
fileA = open('./Test.txt','r',encoding='utf-8')
print(fileA.read(4))
fileA.close()
- 读一行
fileA = open('./Test.txt','r',encoding='utf-8')
print(fileA.readline())
fileA.close()
- 读所有行
fileA = open('./Test.txt','r',encoding='utf-8')
print(fileA.readlines())
fileA.close()
- 读取二进制
fileA = open('./Test.txt','rb')
data = fileA.read()
print(data)
print(data.decode('utf-8'))
fileA.close()
4.With上下文管理对象
自动释放打开关联对象
with open('./Test.txt','rb') as fileA :data = fileA.read()print(data)print(data.decode('utf-8'))#自动释放
小结
文件读写的几种操作方式
read r r+ rb rb+
r r+ 只读使用普通读取场景
rb rb+ 适用于文件图片视频音频这样文件读取
write WW+ wb+
w ba ab w wb+ W+每次都会去创建文件
二进制读写的时候要注意编码问题,默认情况下我们写入文件的编码是gbk
a ab a+ 在原有的文件的基础之后去[文件指针的末尾]去追加,并不会每次的都去创建一个新的文件
案例
old_file = input('请输入 要备份的文件名:')
file_list=old_file.split('.')
#构造新的文件名.加上备份的后缀
new_file=file_list[0]+'_ 备份. '+file_list[1]
try:#监视啊哟处理的逻辑with open(old_file,'r') as old_f,open(new_file,'w')as new_f:while True:content=old_f.read(1024) #-次读取1024字符new_f.write( content)if len( content)<1024:break
except Exception as msg:print (msg )
pass
5.文件定位
- tell() 返回指针当前所在的位置
with open('./Test.txt','r',encoding='utf-8') as fileA :fileA.read(1)print(fileA.tell())fileA.read(2)print(fileA.tell())
- truncate() 对源文件进行截取操作
with open('./Test.txt','r+') as fileA :fileA.truncate(2)print(fileA.read())
- seek() 更改光标指针位置
只有二进制模式打开文件才能更改光标指针位置
fileA.seek(-2,0)#0初始位置开始
fileA.seek(-2,1)#1当前位置开始
fileA.seek(-2,2)#2末尾位置开始
with open('./test.txt','rb') as fileA :data=fileA.read(2)print(data.decode('gbk'))fileA.seek(-2,1)#当前位置向前移动2格ok = fileA.read(2)print(ok.decode('gbk'))
【Python】学习笔记总结3(Python文件操作)相关推荐
- Python学习笔记:目录与文件操作
文章目录 一.案例演示 1.导入os与shutil模块 2.获取当前工作目录 3.创建目录 4.切换当前目录 5.创建文件,写入内容 6.打开文件,查看内容 7.查看目录信息 8.拷贝文件 9.文件改 ...
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
- Python学习笔记:使用Python操作数据库
Python学习笔记:使用Python操作数据库 一.数据库编程接口 为了对数据库进行统一的操作,大多数语言都提供了简单的.标准化的数据库接口(API).在Python Database API 2. ...
- Python学习笔记:用Python获取数据(本地数据与网络数据)
Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件
- python学习笔记26(python中__name__的使用)
python学习笔记26(python中__name__的使用) 在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以imp ...
- python学习笔记1之-python简介及其环境安装
python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...
- Python学习笔记——glob模块【文件、路径操作】
最近做了一个将dicom文件转化为mhd文件的任务,由于要进行批量转化所以遍历文件夹必不可少,刚开始学习python编程,所以把用过的模块用法记录下来,以加深记忆,方便查阅,最后参考前人的博客做了gl ...
- python 系统学习笔记(八)---文件操作
模式 描述 r 以读方式打开文件,可读取文件信息. w 以写方式打开文件,可向文件写入信息.如文件存在,则清空该文件,再写入新内容 a 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如 ...
- python学习笔记(九)——文件和异常(重点)
学文件的目的:数据不能可能一直在内存中存储,持久化存储到磁盘就需要用到文件了! 一.文件和上下文管理器(重点) 1.打开文件-open() 方法 Python open() 方法用于打开一个文件,并返 ...
最新文章
- jquery.raty评星插件
- 计算机绘图 招聘,计算机绘图-网课答案.pdf
- 微信小游戏爆款秘笈 数据库MongoDB攻略篇
- mysql sqlserver分页_SQLServer常用分页方式
- 神策营销云:「在线教育」行业,如何借“运营工具”玩转微信生态?
- java classloader_Java Classloader原理分析
- mysql.5.5.21_centos6下mysql-5.5.21的安装
- mysql coalesce函数用法_MySQL coalesce函数用法说明(转)
- html5手机移动端三级联动城市选择器
- kali2018安装教程_2018最新Kali升级教程
- 我是如何在GitHub上开源一个项目的(截图说明) (VS2010可以安装git插件)
- 【TWVRP】基于matalb模拟退火算法求解带时间窗的车辆路径规划问题【含Matlab源码 160期】
- 华为鸿蒙系统自带什么输入法,搜狗输入法华为鸿蒙系统OS2.0版下载-搜狗输入法华为鸿蒙版v10.15.2 手机版-腾飞网...
- java高级工程师个人简历模板
- ThreadLocal工具类
- Particle Filtering粒子滤波
- 见信如晤::‘卷福’读信:我全心全意去拥抱您
- fastjson不序列化空属性,解决办法
- 面试,这些问题一定要问清楚!
- 180501 逆向-RedHat(Reverse)
热门文章
- 谈谈自动微分(Automatic Differentiation)
- 想了解推荐系统最新研究进展?请收好这16篇论文
- 哈佛NLP组论文解读:基于隐变量的注意力模型 | 附开源代码
- time库python_Python的time库的一些简单函数以及用法
- Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session
- C#——《C#语言程序设计》实验报告——数据库编程——基于ADO.NET技术的数据库操作DEMO
- C#——扩展.NET Framework基本类型的功能DEMO
- MyBatis Plus——启动/关闭控制台LOGO
- MyBatis——insert并返回主键ID解决方案
- 《数据结构与算法》实验报告——二叉树的遍历