在windows中的换行符是\r\n
在python代码中, 如果以如果以w方式写入:
f = open('./abcd', "w")
f.write('abc\nabcd')
f.close()
文本w方式写入时, 遇到\n自动替换成\r\n,以二进制文本读:>> > f = open('./abcd', 'rb')
>> > print(f.read())
结果:
b'abc\r\nabcd'以文本读:>> > f = open('./abcd', 'r')
>> > print(f.read())
结果:
abc
abcd综上可知, 只文本w方式写入时, 遇到\n自动替换成\r\n,
所以用二进制读取时, 显示\r\n的格式, 自然以文本读时, 会自动换行如果以wb方式写入:
f = open('./abcd', "wb")
f.write('abc\nabcd'.encode("utf-8"))
f.close()以二进制文本读:
f = open('./abcd', "rb")
print(f.read())结果: 'abc\nabcd'以文本读:
f = open('./abcd', "r")
print(f.read())结果(换行): abc
abcd因为这种情况是二进制方式写入的, 所以只写入了一个\n, 而只有一个\n在windows中
并不会被识别为换行符,
所以当以rb的方式读取时, 结果是
'abc\nabcd'
当以r的方式读取时, 又自动将\n识别成换行符, 所以结果时对于Python3环境:r:Python
将会按照编码格式进行解析,read()
操作返回的是str
rb:也即
binary
mode,read()
操作返回的是bytes也就是说, 如果以文本方式写入的文件, 无需制定编码.
而以二进制文本写入时, 由于写入的内容要求为bytes,所以通过str.encode('charset')来返回bytes

python打开文件时'w'与'wb'的区别,'r'与'rb'的区别相关推荐

  1. Python打开文件时'w'与'wb','r'与'rb'的区别(2019年1月3日)

    文件读写中后面的参数:w,r,wt,rt,wb,rb,都是python里面文件操作的模式. 1.w是写模式,r是读模式. 2.t是windows平台特有的所谓text mode(文本模式),区别在于会 ...

  2. python打开文件时,找不到文件 FileNotFoundError: [Errno 2] No such file or directory报错

    小白一枚,记录学习错误,共同进步 python打开文件时,找不到文件 FileNotFoundError: [Errno 2] No such file or directory报错 UnicodeD ...

  3. python打开文件w和wb,r和rb的区别

    是w表示正常写入 wb表示二进制写入 r表示正常 rb表示二进制读取 w和r读取 代码如下 fp=open('/abc','w') fp.write('ab\nas') fp.close() fp=o ...

  4. python中打开文件时只允许写入的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  5. python打开方式错误_浅谈python 调用open()打开文件时路径出错的原因

    昨晚搞鼓了一下python的open()打开文件 代码如下 def main(): infile =open("C:\Users\Spirit\Desktop\bc.txt",'r ...

  6. python中打开文件时只允许写入的模式是_在open函数中访问模式参数使用()表示打开一个文件只用于写入。(4.0分)_学小易找答案...

    [单选题]溢流坝属于( ) [单选题]在重力坝的底部沿坝轴线方向设置大尺寸的空腔,即为( ) [单选题]模式()的用途是打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾.(4.0分) ...

  7. python open找不到文件的原因_浅谈python 调用open()打开文件时路径出错的原因

    昨晚搞鼓了一下python的open()打开文件 代码如下 def main(): infile =open("C:\Users\Spirit\Desktop\bc.txt",'r ...

  8. 反汇编软件IDA V7.2打开文件时python.dll error: 找不到指定的模块

    #反汇编软件IDA V7.2打开文件时问题: LoadLibrary(C:\Program Files\IDA 7.2\plugins\python.dll) error: 找不到指定的模块. C:\ ...

  9. python 打开文件-Python open()文件处理使用介绍

    1. open()语法 open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]]) open函数有 ...

最新文章

  1. 这么说线程生命周期是不是简单了点?
  2. activiti 表——介绍
  3. 苹果电脑macbook怎样强制关闭软件
  4. 微信小程序没登录跳到登录页怎么做_微信小程序手机端如何实现登录页面跳转含有Tabar页面...
  5. 请领导审阅并提意见应怎么说_职场中,领导不喜欢你,暗中排挤你,怎么办?老员工给你支5招!...
  6. 第九节:基于MVC5+AutoFac+EF+Log4Net的基础结构搭建
  7. html jq 控制显示密码,js、jquery分别实现点击密码输入框密码显示和隐藏
  8. 大数据学习笔记59:初探Kafka消息系统
  9. [转]ListView滚动到底部自动加载数据
  10. js储存数据sessionStorage,localStorage
  11. net user test 123456 /add
  12. 【水果识别】基于matlab GUI RGB+HSV水果成熟度分级系统【含Matlab源码 825期】
  13. 分形吧matlab,Matlab在分形模拟上的一些应用
  14. python指数函数的计算,Python exp() 指数函数
  15. 如何查看本地ip地址和外网地址
  16. 【新国产化】中国云平台能像阿里云一样,成为世界一哥吗?
  17. Android动画中Interpolator 详解和演示
  18. C++学习方法(经典)
  19. SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to
  20. js中将中国标准时间格式、CST日期转换为yyyy-MM-dd HH:mm:ss格式总结

热门文章

  1. Android Studio经验积累之常见问题以及解决方式
  2. 2023年湖北武汉安全员ABC报名条件和报名资料是什么?全国通用?
  3. js刷新框架(frameset)
  4. postgresql多条数据合并,并将多个字段拼接成一个json字段
  5. 基于单片机的智能窗控制系统设计(电路+流程)
  6. opencv 归一化函数 normalize
  7. SpringBoot如何优雅的使用RocketMQ
  8. QT中使用C++ socket通信(了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例)
  9. 如何利用 MindQuantum 中自定义的量子门,实现对多个哈密顿量求期望值和梯度?
  10. exfat linux 编译,嵌入式 linux 基于fuse 的 exfat 文件系统实现