python教程(十一)之文件(2.文件模式)

文件模式概念

#调用open函数时,如果只设定文件名,会获得一个可读取的文件对象,如要进行写入,需要参数mode设定为w,参数mode可以取多个值

#open默认采用r模式,即只读,实际上就是下面这样,只不过默认的文件模式不必写出来

file_txt=open("demo.txt","r")

#其他的文件模式还有’w’,‘x’,‘a’,‘b’,‘t’,’+'等

'w’是写入模式

#在写入模式下,原有内容将被删除并替换为你新输入的内容
#注意,如果不存在这个文件,将会自动创建一个,并写入你write的内容

file_txt=open("demo.txt","w")
file_txt.write("Hello,World")
file_txt.close()   #关闭文件,后面会说为什么要这么做
file_txt=open("demo.txt")
print(file_txt.read())
#Hello,World

#可以看到,我在open中设定了w,也就是写入模式,下面还使用write执行写入,当我执行读取时,得知文件内容变为了我之前写入的内容

#虽然我觉得不必说明,但以防万一,说一下
#文件模式只是告诉python你打算怎么处理文件,而write或read才是写入或读取的行为
#你如果没有设定为写入模式,却使用write写入行为,就会报错

'x’是独占写入模式

#在文件已存在时引发FileExistsError异常

file_txt=open("demo.txt","x")
#FileExistsError: [Errno 17] File exists: 'demo.txt'

'a’是附加模式

#会在既有文件末尾继续写入

file_txt=open("demo.txt","a")
file_txt.write(" and Hello Python!!")
file_txt.close()
file_txt=open("demo.txt")
print(file_txt.read())
# Hello,World and Hello Python!!

'b’是二进制模式

#Python使用通用换行模式,下一节中将会讲到readlines等方法会识别所有换行符
#例如\n \r \r\n,如果要禁止自动转换,需要将参数中newline设为空,open(filename,newline="")
#newline="\n"时,只识别\n这个换行符
#使用b则会忽略所有自动转换,因为你的文件可能是音频或图片,读取时使用’rb’文件模式即可

't’是文本模式

#与其他模式结合使用,上一节说过的encoding就是设置编码格式的参数
#它可以自动转换换行字符,默认情况下\n是行的结尾,读取时自动替换其他行尾字符\r或\r\n,写入时将\n替换为系统默认的行尾字符os.linesep
#这里需要深入了解的请使用help(open)或网上自行查询

'+'是读写模式

#与其他模式一起使用,例如r+就是打开文本文件并进行读写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值