我有一个用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)
- 打开文件并以字符串形式返回第一个计数字节。
在python中有一些简单的方法如何打开二进制文件作为原始字符串? 我对python完全不熟悉。 感谢您的帮助。
答案 0 :(得分: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
类型并保留您要求的字节数
答案 1 :(得分:1)
如果您希望将整个文件读入内存,只需调用文件的read()
方法(不带参数)即可。
例如:
s = open("image.bin", "rb").read()
如果您只想读取特定数量的字节(如@Eric Dill的例子),可以将其作为参数传递给read
方法:
s = open("image.bin", "rb").read(SOME_NUMBER_OF_BYTES)