如何在 python 中将二进制文件作为原始字符串打开?

How to open a binary file as raw string in python?

我有一个用 imageJ 脚本编写的宏。我需要将这个宏重写为 python3.4。我以阅读模式打开了一个二进制文件:

b_f = open("image.bin", "rb")
OverScan = 0
sizeY = 480
reg = OverScan + 10

然后我在尝试找到一种方法如何将 b_f 作为原始字符串打开时遇到了问题。在 imageJ 脚本中它看起来像这样: s=File.openAsRawString(b_f,2*192*(1+sizeY)*reg); File.openAsRawString(path, count) - 打开一个文件并且 returns 直到第一个计数字节作为一个字符串。

在python如何以原始字符串形式打开二进制文件中有一些简单的方法吗? 我是 python 的新手。 提前感谢您的帮助。

打开文件后,该文件引用有一个 read() 方法,该方法采用您要读入的字节数。

with open("image.bin", "rb") as b_f:
    OverScan = 0
    sizeY = 480
    reg = OverScan + 10
    binary_data = b_f.read(2*192*(1+sizeY)*reg)

binary_data 现在将是 bytes 类型并保存您要求的字节数

如果您希望将整个文件读入内存,只需调用文件的 read() 方法(不带参数)即可。

例如:

s = open("image.bin", "rb").read()

如果您只想读取特定数量的字节(如@Eric Dill 的示例),可以将其作为参数传递给 read 方法:

s = open("image.bin", "rb").read(SOME_NUMBER_OF_BYTES)