📅  最后修改于: 2023-12-03 14:57:43.603000             🧑  作者: Mango
Python 是一种流行的编程语言,它内置了许多用于处理不同类型文件的函数。在 Python 中,可以使用 open() 函数打开和读取二进制文件。
我们可以使用 open() 函数打开一些二进制文件,例如图像、音频、视频、PDF、字体等。当打开一个文件时,需要指定文件名、文件打开的模式(读取或写入)、文件打开的方式(文本或二进制),具体如下:
file = open('filename', 'mode', 'encoding')
其中,filename 为文件名,mode 可选参数包括:'r'(读取,文件必须存在)、'w'(写入,文件必须不存在)等。'b' 表示二进制模式。encoding 可以指定编码方式,默认为 None。
示例:
file = open('example.pdf', 'rb')
在 Python 中读取二进制文件与读取文本文件的方法类似,可以使用 read() 函数读取整个文件,也可以使用 readline()、readlines() 等函数读取文件中的部分内容。
#读取整个文件
content = file.read()
#读取一行内容
line = file.readline()
#读取多行内容
lines = file.readlines()
另外,read() 函数还可以指定读取文件的字节大小。
#读取前10个字节
content = file.read(10)
使用 open() 函数打开文件时,需要确保在程序执行完毕之后关闭文件,以避免文件被占用而无法编辑。可以使用 close() 函数关闭文件。
file.close()
#二进制模式读取图片
with open('image.jpg', 'rb') as f:
content = f.read()
print(content[:10].hex()) #输出前10个字节的16进制表示
#这里是处理图片的代码
#...
#读取二进制文件中的单个字节
with open('example.bin', 'rb') as f:
byte = f.read(1) #读取一个字节
while byte != b'':
#处理读取到的字节
#...
byte = f.read(1) #继续读取下一个字节