python中文件打开的合法模式组合_详解python中各种文件打开模式
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r
当以a模式打开时,只能写文件,而且是在文件末尾添加内容。
当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发现读出来的数据为空,是因为a+模式是在文件末尾添加内容,所以其指针已经指到了文件末尾,所以读出来的数据就是空的。
?
1
2
3
4
5
6
7
8
9
10
11
# 在文件末尾添加数据
f= open('test.txt','a+')
f.write('test')
f.close()
# 读出数据为空
f= open('test.txt','a+')
print(f.read())
# 读出数据
f= open('test.txt','a+')
f.seek(0)# 将指针移动到首个字符前
print(f.read())
当以w模式打开时,只能写文件,而且会直接将之前的数据给丢失。
当以w+模式,可读可写,但是如果想读取的内容的话,只能在写内容的时候,同时读取其中的内容,相当于只能读取出你刚刚写入的内容,没有意义
?
1
2
3
4
5
f= open('test.txt','w+')
f.write('我不会喜欢你')
f.seek(0)
print(f.read())
f.close()
当以r模式打开文件时,只能读取文件。
当以r+模式打开文件时,可读可写文件。如果是读取文件,会从首个字符开始读取数据,如果是以该模式打开文件,就写数据,则会从首个字符开始写,并一个一个字符的向后面覆盖。如果想从末尾添加内容,则可先read()然后在向其中添加数据。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 第一次写入内容
f= open('test.txt','r+')
f.write('我不会喜欢你')# 内容为:我不会喜欢你
f.close()
# 第二次写入
f= open('test.txt','r+')
f.write('其实我')
f.close()# 内容为: 其实我喜欢你
# 第三次写入
f= open('test.txt','r+')
print(f.read())# 内容为: 其实我喜欢你
f.write(', I love you')
f.close()# 内容为: 其实我喜欢你, I love you
自我感觉r+模式可以多加应用。
ps:下面看下python文件打开的几种访问模式
访问模式
说明
r
以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w
打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a
打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
rb
以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
wb
以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
r+
打开一个文件用于读写。文件指针将会放在文件的开头。
w+
打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a+
打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
rb+
以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
wb+
以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
ab+
以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
总结
以上所述是小编给大家介绍的python中各种文件打开模式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.cnblogs.com/bao9687426/p/12209065.html
python中文件打开的合法模式组合_详解python中各种文件打开模式相关推荐
- python模式匹配算法_详解Python 最短匹配模式
问题 你正在试着用正则表达式匹配某个文本模式,但是它找到的是模式的最长可能匹配. 而你想修改它变成查找最短的可能匹配. 解决方案 这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字 ...
- python中打开文件时只允许写入的模式是_详解python中各种文件打开模式
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...
- python中以只读形式打开文件的模式是_详解python中各种文件打开模式
在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...
- python整数类型没有取值范围限制_详解Python中6种数据类型
Python中数据类型主要有六种:数字类型,字符串类型,元组类型,列表类型,文件类型和字典类型,我们今天先介绍前四种类型. 假如在Python程序中,出现了"010",那么这个&q ...
- python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式
一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...
- Java中final类是存放在哪_详解Java中的final关键字
1 修饰属性或者变量 无论属性是基本类型还是引用类型,作用都是变量里面存放的"值"不可变 经常和static关键字一起使用,作为常量 1 基本类型,变量放的是实实在在的值,如1,& ...
- python函数定义中参数列表里的参数是_详解Python函数中参数带星号是什么意思
函数的参数使用除了常规的位置参数和关键字参数外,还支持可变个数的函数参数,这种支持可变个数的参数方法称为参数收集,对应的参数称为收集参数. 一.参数收集的定义 Python的函数支持可变不定数量的参数 ...
- python文件对象是可以迭代的_详解python可迭代对象、迭代器和生成器
可迭代对象 什么是可迭代对象?顾名思义就是可以迭代的一个对象,再通俗点就是可以被for循环遍历的对象,如常用的list.str等数据类型.我们可以使用isinstance来判断这个数据是否是可迭代对象 ...
- python中的str方法和repr方法_详解Python中__str__和__repr__方法的区别
对我当前工程进行全部测试需要花费不少时间.既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率. 但优点也是缺点,tmpfs 只把结果 ...
最新文章
- mpvue 小程序如何开启下拉刷新,上拉加载?
- 手把手教你实现一个 Vue 进度条组件!
- microsoft 官方学习资源
- #191 sea(动态规划)
- JAVA入门级教学之(你是否理解HelloWorld的这段经典的代码的注释)
- 架构部署002--城域网_骨干网
- python内存池机制,python基础—12python内存管理机制
- Iperf性能测试的问题小结
- 数据库之SQL笛卡尔积
- OpenCV_15绘制朱利亚(Julia)集合图形
- FeedDemon 2.6.0.20 Final
- 周昆 浙江大学计算机学院院长,浙江大学周昆教授来校作学术报告
- 常对象只能调用常函数成员 c++
- AndroidTV语音搜索
- uni-app分享app和公众号遇到的坑(仅个人之见,如有错误请给指出)
- python爬虫某招聘数据进行可视化
- 9.1 多元微分学及应用——多元函数的基本概念
- 监控 prometheus及其部署及server discovery,alertmanager,grafana(更新结束)
- linux内核看门狗关闭方法,详解linux 看门狗驱动编写
- 计算机应用基础大纲2019,计算机应用基础考试大纲(2019 年版)电子刊物
热门文章
- Linux 源码安装 Python3 和 pip3
- Python编程从入门到实践~字典
- java web响应式框架_Web开发的十佳HTML5响应式框架
- 手机h5可以用ifreme_折叠照片特效,用手机修图软件就可以实现
- STM32F0使用LL库实现PWM输出
- 在Amazon FreeRTOS V10中使用运行时统计信息
- [转载] --- Fastjson1.2.68版及以下全版本远程代码执行漏洞通告
- CoreAnimation编程指南(简介)
- android 名片识别 简书,iOS 自己实现 名片识别 三 图片处理
- c语言将数据写不入文件,求大神看看为什么不能将数据写入文件