r+和w+都是可读可写,区别在于r+读文件时,不会覆盖之前的内容,之前的内容能够读出来;w+读时,会覆盖之前的内容;所以读文件时,用r或者r+

#读操作 r

1 filepath = 'aa.log' #aa.log存在

2 #读操作

3 #read()方法,一次都读出来

4 with open(filepath,'r') as f:5 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

hello world!

Process finished with exit code 0

1 filepath = 'a.log' #a.log不存在,执行报错

2 #读操作

3 #read()方法,一次都读出来

4 with open(filepath,'r') as f:5 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

Traceback (most recent call last):

File"E:/python/文件读写.py", line 4, in with open(filepath,'r') as f:

FileNotFoundError: [Errno2] No such file or directory: 'a.log'Process finished with exit code1

#读写操作 r+

1 #r+写操作

2 filepath = 'aa.log'

3 with open(filepath, 'r+') as f:4 f.write('文字被替换成hahaha')5 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

被替换成hahaha

Process finished with exit code 0

#readline()读操作

1 filepath = 'my.log'

2 with open(filepath,'r',encoding='UTF-8') as f:3 print(f.readline().strip())4 print(f.readline().strip())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py2019-10-12 09:34:23,073 - E:/python/test.py[line:9] -DEBUG: 默认日志级别是debug2019-10-12 09:34:23,075 - E:/python/test.py[line:10] -INFO: info级别

Process finished with exit code 0

#readlines()读操作,读到的内容,返回一个列表

1 #readlines()方法,一次都读出来,并返回一个列表

2 with open(filepath,'r',encoding='UTF-8') as f:3 print(f.readlines())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

['2019-10-12 默认日志级别是debug\n', '2019-10-12 info级别\n', '\n']

Process finished with exit code 0

1 #将readlines读到的内容存放到line中,使用for循环遍历内容

2 with open(filepath,'r',encoding='UTF-8') as f:3 lines =f.readlines()4 for line inlines:5 print(line.strip())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py2019-10-12默认日志级别是debug2019-10-12info级别

Process finished with exit code 0

1 #如果要逐行读取,直接遍历文件对象就可以了

2 with open(filepath,'r',encoding='UTF-8') as f:3 for line inf:4 print(line.strip())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py2019-10-12默认日志级别是debug2019-10-12info级别

Process finished with exit code 0

1 #写操作

2 with open(filepath,'w',encoding='UTF-8') as f:3 f.write('hello world!\n')4

5 with open(filepath,'r',encoding='UTF-8') as f:6 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

hello world!

Process finished with exit code 0

#w+读写模式

1 with open(filepath,'w+',encoding='UTF-8') as f:2 f.write('hello world!\n')3 f.seek(0)4 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

hello world!

Process finished with exit code 0

#a+追加读写

1 with open(filepath,'a+',encoding='UTF-8') as f:2 f.write('hello world!\n')3 f.seek(0)4 print(f.read())

C:\Users\admin\Miniconda3\python.exe E:/python/文件读写.py

hello world!

hello world!

Process finished with exit code 0

1 #读模式,只能读,不能写,默认读模式

2 f = open(r'E:\cnz\day1\列表.py','r',encoding='utf-8')3 result =f.read()4 print(result)5 f.close()6

7 #读模式r 写模式w 追加模式a

8 #写模式,只能写,不能读,写模式会覆盖之前的内容

9

10 f = open('test.txt','w',encoding='utf-8')11 f.write('abc')12 f.close()13

14 #追加模式,写文件时,不会覆盖之前的内容

15 f = open('test.txt','a',encoding='utf-8')16 #f.write('哈哈哈')

17 f.read()18 f.close()19

20 #总结:

21 #读模式,只能读,不能写,打开不存在的文件会报错

22 #写模式,只能写,不能读,打开不存在的文件会创建

23 #追加模式,只能写,不能读,在原文件基础上增加内容,打开不存在的文件,会创建

24 #只要跟r有关的,打开不存在的文件,会报错

25 #只要和w有关,都会清空之前的文件

26 #a+模式,文件指针模式是在末尾的,如果想读文件,需要seek(0)

27 #writelines传一个list,会把list里面的元素写到文件里

28

29 #r+ w+ a+

30 #读写模式 写读模式 追加读模式

31

32 f = open('test3.txt','a+',encoding='utf-8')33 f.write('哈哈哈1')34 f.read()35 f.close()36

37 l = ['a','b','c','d']38 f = open('test.txt','w',encoding='utf-8')39 f.writelines(l)40 f.close()

python文件读取模式_day-2 python 文件读写模式r,r+,w,w+,a,a+的区别相关推荐

  1. Python之读取MongoDB导出的BSON文件

    BSON是一种类似于JSON的二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型 ...

  2. python文件读取与输出_python基本文件操作(文件输入和输出)

    文件输入输出中常用的文件对象方法: open: 返回一个新的文件对象,调用该对象的上的方法可对文件进行任何操作 readline: 读取一行数据包括结尾的换行符在内 write: 将数据写入文件中 c ...

  3. python文件读取下一个字符_python文件的读写总结

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  4. python open读取_Python:open的文件读取操作,utf-8,UnicodeDecodeError

    简要目录: open函数 将文件设置为utf-8编码格式 UnicodeDecodeError f.read() 和 f.read(size) f.readline() 和 f.readlines() ...

  5. python 文件不存在时才能写入,读写模式xt

    想向一个文件中写入数据,但是前提必须是这个文件在文件系统上不存在.也就是不允许覆盖已存在的文件内容. 可以在open() 函数中使用x 模式来代替w 模式的方法来解决这个问题.比如: ''' 遇到问题 ...

  6. c++读取txt文件中的数字_在Python中读取包中的数据文件的三种方式

    我们知道,写Python代码的时候,如果一个包(package)里面的一个模块要导入另一个模块,那么我们可以使用相对导入: 假设当前代码结构如下图所示: 其中test_1是一个包,在util.py里面 ...

  7. python二进制文件 删除尾部数据_在Python中读取和切片二进制数据文件的最快方法...

    我有一个处理脚本,用于提取"uint16"类型的二进制数据文件,并一次以6400块的形式进行各种处理.该代码最初是用Matlab编写的,但由于分析代码是用 Python编写的,我们 ...

  8. Python实现读取多个/批量txt文件合并成一个txt(示例为tcga数据处理)

    本程序功能 将tcga数据的批量txt文件合并成一个txt. 如下: 原始的第一个txt(代表一个病人)的数据内容 合并之后的txt数据,基因名不变,只是把病人的表达量收集到一起 操作详细步骤 本人测 ...

  9. Python代码读取Excel(.xlsx)文件并保存JSON文件

    策划需求,要求统计所有xlsx文件中的数据.并将其统一处理归纳到一个文件中,方便阅读. 这时候Python相对C#来说,优势体现出来了.当然C#还是很强的,只是针对某些功能,选择合适的工具. 思路:读 ...

  10. python with open 文件不存在_python 文件不存在时才能写入,读写模式xt

    想向一个文件中写入数据,但是前提必须是这个文件在文件系统上不存在.也就是不允许覆盖已存在的文件内容. 可以在open() 函数中使用x 模式来代替w 模式的方法来解决这个问题.比如: >> ...

最新文章

  1. MFC最小化到系统托盘
  2. 剑指offer-二叉树的深度(递归)
  3. WKWebview 的使用及坑
  4. python循环变颜色_在Python中使用循环变量在matplotlib中指定颜色
  5. boost::hana::common_t用法的测试程序
  6. C++ Qt全局异常处理器_QT教程
  7. Delphi XE3 下载
  8. python字体大小设置苹果电脑_如何调整Mac字体大小Mac字体大小调整方法
  9. 项目1-员工(绩效)信息管理系统
  10. 【操作系统】GPT和MBR分区的区别
  11. 西门子plc200 c语言转换,西门子S7-200 系列PLC量程转换及编程方法
  12. 拼多多不补单有什么后果?怎么避免补单风险?
  13. 《还是要相信》读书笔记
  14. Arduino学习笔记——数字输入
  15. A代表数字1,B代表数字2,以此类推Z代表26
  16. 宝塔Linux面板redis服务开多个端口
  17. Unity光照效果_自发光动态改变并影响环境
  18. 上海豪宅现排队买房 半夜12点还在签约
  19. 搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别
  20. chip_seq在增强子研究中的应用

热门文章

  1. Android开发之ApiCloud模块开发之模块引用第三方库的问题
  2. Android ble covana,I’m A Lie
  3. APNS提供了两项基本的服务:消息推送和反馈服务
  4. SVN服务器更换地址解决方法
  5. 图片插值数据_结合PS用这招来增强ArcGIS插值图出图效果
  6. 学界 | 马里兰大学研究:人脑神经网络的动态变化和声音感知
  7. kernel笔记——进程调度
  8. ux.form.field.Verify 验证码控件
  9. Oracle SQL Access Advisor 说明
  10. vue中用的swiper轮播图的用法及github的地址