python文件打开方式详解——a、a+、r、r+、rb、rt、w、w+区别(史上最全)

一.总结

a:附加写,不可读。
a+:附加读写。追加写。

r:只读,最常用。不创建,不存在会报错。(读二进制文件可能会读取不全)
rb:只读。二进制文件按二进制位进行读取。不创建,不存在会报错。
rt:只读。文本文件用二进制读取。不创建,不存在会报错。
r+:可读写。覆盖写。不创建,不存在会报错。

w:只写。存在则覆盖。不存在则创建。
w+:可读写。存在则覆盖。不存在则创建。

二.区分

  1. r只读r+读写,不创建,即需要事先存在一个文件以供读/读写,若不存在文件会报错

  2. w新建只写w+新建读写,二者都会将文件内容清零,即事先不需要有该文件存在,若已经存在则会覆盖(以w方式打开,不能读出。w+可读写)

  3. w+与r+区别:
    r+:可读可写,若文件不存在,报错
    w+: 可读可写,若文件不存在,创建

  4. r+与a+区别:
    r+:覆盖写
    a+:追加写

示例:

f = open("1.txt",'w+')
f.write('123')
f = open("1.txt",'r+')
f.write('456')
f = open("1.txt",'a+')
f.write('789')

输出:456789

  1. 以a,a+的方式打开文件,附加方式打开
    以 ‘U’ 标志打开文件, 所有的行分割符通过 Python 的输入方法(例#如 read*() ),返回时都会被替换为换行符\n. (‘rU’ 模式也支持 ‘rb’ 选项) .
    r和U要求文件必须存在

不可读的打开方式:w和a

若不存在会创建新文件的打开方式:a,a+,w,w+

  1. 使用’r’一般情况下最常用的,但是在进行读取二进制文件时,可能会出现文档读取不全的现象;
    使用’rb’按照二进制位进行读取的,不会将读取的字节转换成字符,二进制文件用二进制读取用’rb’ ;
    rt模式下,python在读取文本时会自动把\r\n转换成\n,文本文件用二进制读取用‘rt’;
  • 10
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾v

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值