当前位置:   article > 正文

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

python open buffering

文件操作

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

1.1 ,open 操作

open(
    file,      # 文件名
    mode='r',  #默认为只读模式
    buffering=-1,# 缓冲区
    encoding=None,# 默认编码
    errors=None,#
    newline=None,
    closefd=True,
    opener=None,
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
操作 解释
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 # 看看内容
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

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'
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/278256
推荐阅读
相关标签
  

闽ICP备14008679号