Python学习之---open操作+buffering缓冲区+上下文管理+StringIO和BytesIO

本文详细介绍了Python中的文件操作,包括open函数的使用,如文本模式和二进制模式,文件指针操作,缓冲区的概念,以及encoding和newline参数的设置。同时,讲解了上下文管理在文件操作中的重要性,并介绍了内存中的文件对象StringIO和BytesIO的使用方法。
摘要由CSDN通过智能技术生成

文件操作

文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。

1.1 ,open 操作

open(
    file,      # 文件名
    mode='r',  #默认为只读模式
    buffering=-1,# 缓冲区
    encoding=None,# 默认编码
    errors=None,#
    newline=None,
    closefd=True,
    opener=None,
)
操作 解释
r 只读权限;默认是文本模式
w 只写权限,文件不存在则创建新的文件,如果存在则清空文件内容.
x 不存在则创建一个新的,存在则报错;只写权限
a 只写权限,尾部追加写入,读也是从文件末尾开始读取,受文件指针影响
b 只读二进制模式
t 文本模式,相当于"rt ''只读模式,
+ 为r,w,a,x提供缺失的读或者写功能,但是获取文件对象依旧按照r,w,a,x自己的特征
# r模式
f = open('test') # 默认只读 
f.read() # 可以读取
f.write('abc')# 报错
f.close()#关闭文件
f = open('test', 'r') # 只读模式打开  
f.write('abc') 
f.close()
f = open('test1', 'r') # 只读,文件不存在 则创建一个新的文件
# w模式
f = open('test','w') # 只写打开
f.write('abc')
f.close()
f = open('test', mode='w') 
f.close()
>>> cat test # 看看内容
f = open('test1', mode='w')
f.write('123')
f.close()
>>> cat test1 # 看看内容

wxa模式都可以产生新文件

  • w不管文件存在与否,都会生成全新内容的文件
  • a不管文件是否存在,都能在打开的文件尾部追加
  • x必须要求文件事先不存在,自己造一个新文件

文本模式打开

字符流,将文件的字节按照某种字符编码理解,按照字符操作。open的默认mode就是rt。

二进制模式

字节流,将文件就按照字节理解,与字符编码无关。二进制模式操作时,字节操作使用bytes类型.

f = open("test3",'rb') # 二进制只读
s = f.read()
print(type(s)) # bytes
print(s)
f.close() # 关闭文件
f = open("test3",'wb'
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值