1

我有一个用 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)- 打开一个文件并返回第一个 count 字节作为字符串。

python中是否有一些简单的方法可以将二进制文件作为原始字符串打开?我对python完全陌生。提前感谢您的帮助。

4

2 回答 2

2

打开文件后,该文件引用上有一个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并保存您要求的字节数

于 2015-11-05T15:05:42.280 回答
1

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

例如:

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

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

s = open("image.bin", "rb").read(SOME_NUMBER_OF_BYTES)
于 2015-11-05T15:07:07.273 回答