鄙人学习笔记
文章目录
- 二进制文件读写
- 举个例子1(以二进制方式打开并读取txt文件)
- 举个例子2(以二进制方式打开并读取图片)
- 举个例子3(二进制文件打开并写入操作)
- 关闭文件
- with操作
- with语句的语法格式
- 举个例子
二进制文件读写
file_object = open(file_name, access_mode='r', buffering=-1)
功能:打开一个文件,返回一个文件对象。
参数:file_name————文件名;
access_mode————打开文件的方式,如果不写默认为‘r’
文件模式 操作
rb 以二进制读模式打开 同r
wb 以二进制写模式打开 同w
ab 以二进制追加模式打开 同a
rb+ 以二进制读写模式打开 同r+
wb+ 以二进制读写模式打开 同w+
ab+ 以二进制读写模式打开 同a+
举个例子1(以二进制方式打开并读取txt文件)
首先看一下要读取的文件数据:
读取:
结果:
由结果可知,我们得到了一堆字节串。
在网络传输的过程中,要求不能传输字符串,只能传输字节串,则可以用这种方式进行去读取。
我们可以用decode()将字节串转换成字符串:
结果:
举个例子2(以二进制方式打开并读取图片)
我们先看一下我们的图片:
我们以r的形式打开文件:
结果:
会报错!所以,我们如果要打开二进制编码的文件(视频、音频),必须要以二进制的打开方式(字节串的打开方式)。
备注:二进制的方式(字节串的打开方式)可以打开所有文件。
我们以rb的形式打开:
部分结果:
举个例子3(二进制文件打开并写入操作)
写入:
备注:我们以wb的形式打开文件,则必须要以字节串的形式写入,故我们要在字符串【hello world】前加【b】,将其转化为字节串。
结果:
关闭文件
file_object.close()
打开一个文件后我们就可以通过文件对象对文件进行操作了,当操作结束后使用close()关闭这个对象可以防止一些误操作,也可以节省资源。
with操作
python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会执行规定的“清理”操作,释放被访问的资源。比如,文件读写后自动关闭、线程中锁的自动获取和释放等。
with语句的语法格式
with context_expression [as target(s)]:
with-body
备注:context_expression为条件语句,as target(s) 表示将条件语句生成一个target(s)对象,with-body为语句块。在执行完语句块后,生成的对象会被自动清理。
通过with方法可以不用close(),因为with生成的对象在语句块结束后会自动处理,所以也就不需要close了,但是这个文件对象只能在with语句块内使用:
with open('file','r+') as f:
f.read()
上面这段代码的意思是,将打开的文件对象定义为f, 之后用f进行读取操作,当语句块结束后,会自动清除文件对象f.
备注:并不是所有对象都能用with.
举个例子
代码:
结果: