📜  读取二进制文件 python (1)

📅  最后修改于: 2023-12-03 14:57:43.603000             🧑  作者: Mango

读取二进制文件 Python

Python 是一种流行的编程语言,它内置了许多用于处理不同类型文件的函数。在 Python 中,可以使用 open() 函数打开和读取二进制文件。

1. 打开文件

我们可以使用 open() 函数打开一些二进制文件,例如图像、音频、视频、PDF、字体等。当打开一个文件时,需要指定文件名、文件打开的模式(读取或写入)、文件打开的方式(文本或二进制),具体如下:

file = open('filename', 'mode', 'encoding')

其中,filename 为文件名,mode 可选参数包括:'r'(读取,文件必须存在)、'w'(写入,文件必须不存在)等。'b' 表示二进制模式。encoding 可以指定编码方式,默认为 None。

示例:

file = open('example.pdf', 'rb')
2. 读取文件

在 Python 中读取二进制文件与读取文本文件的方法类似,可以使用 read() 函数读取整个文件,也可以使用 readline()、readlines() 等函数读取文件中的部分内容。

#读取整个文件
content = file.read()

#读取一行内容
line = file.readline()

#读取多行内容
lines = file.readlines()

另外,read() 函数还可以指定读取文件的字节大小。

#读取前10个字节
content = file.read(10)
3. 关闭文件

使用 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) #继续读取下一个字节