直接在python中将二进制文件转换为整数数组?

时间:2017-04-29 02:13:47

标签: python list

我正在尝试将二进制文件读入字节列表。我正在调查这个帖子,但它只给了我一个字符数组。

documentation

或多或少我想要的是这个:

with open("decompressed_data.bin", mode='rb') as file:
    fileContent = file.read()
myStrList = list(fileContent)
# then convert this to a list of integers directly.
myIntList = convertToIntList(myStrList)

有没有办法将这个字符列表转换为整数列表而不会遍历每个字符?

更好的是,我可以直接将二进制文件读取到Python方式的整数列表中吗?

2 个答案:

答案 0 :(得分:0)

在python中,标准库中有binascii模块。例如:

  

binascii.hexlify(数据

返回二进制数据的十六进制表示。也就是说,每个字节都被转换为两位十六进制整数表示。这对你有帮助吗?

答案 1 :(得分:0)

Python 3s更新open,在Python 2.7中以io.open形式提供,将直接执行此操作。尽管可能打印类似于字符串,但read在二进制文件上返回的对象是 bytes 对象,其行为为整数序列。如果在特定索引处打印元素,或者在迭代它时注意到它会产生整数,则可以看到这一点。