一、 二进制文件的打开方式
一般使用with语法,因为with自动实现了关闭文件不用再手动close()。
with open("file_path", "rb") as f:
data = f.read(10)
print(data)
with open("file_path", "wb") as f:
f.write(b'hello')
打开二进制文件必须指定open函数的打开参数为b,例如rb、wb、ab等。
二、 常用操作
1. 读二进制文件 read()
读二进制文件使用read()函数。
with open("file_path", "rb") as f:
data = f.read(10)
print(data)
上面代码表示从file_path路径下的文件中读取10字节内容。
2. 写二进制文件 write()
写向文件中写入二进制数据使用write()函数。
with open("file_path", "wb") as f:
f.write(b'hello')
上面代码表示向file_path路径下的文件中写入b'hello'内容。
3. 移动文件指针的位置 seek()
有时候我们并不是希望每次都从文件的开头进行操作,这时候就需要移动文件指针的位置,这就需要用到seek()函数了。
with open("file_path", "rb") as f:
f.seek(-5, os.SEEK_END)
data = f.read()
上面的操作完成了从文件末尾向前移动5个字节,并读取这五个字节的内容
seek(offset, whence)函数有两个参数:
offset:偏移量,指移动位置whence:初始位置,即文件指针从哪里开始移动,os.SEEK_SET (0) 从文件开头开始移动,os.SEEK_CUR (1) 从当前位置开始移动,os.SEEK_END (2) 从文件末尾开始移动
有了这两个参数就可以移动文件指针到具体的位置了
4. 获得当前文件指针的位置tell()
有时候我们想要知道当前正在操作文件中的那个部分,这时候就需要知道文件指针的位置,获得文件指针的位置使用tell()函数,tell函数返回一个int类型的值,表示的时当前文件指针相对文件开头的偏移量。
三、 字节数据的相关内容
python中是没有单独的byte对象的,单个byte也是以bytes对象的形式出现的,就像python中的char,没有单独的char对象,单个的char也是以str对象的形式出现的。
并且bytes也是不可修改的,可以修改的是bytearray
str可以和bytes对象之间相互转换
s = 'hello'
b = s.encode('utf-8')
s = b.decode('utf-8')
3315

被折叠的 条评论
为什么被折叠?



