【发布时间】:2012-08-04 21:44:16
【问题描述】:
我对 python 很陌生,使用 python 2.7。我必须读入一个二进制文件,然后将一些字节连接在一起。所以我尝试了
f = open("filename", "rb")
j=0
infile = []
try:
byte = f.read(1)
while byte != "":
infile.append(byte)
byte = f.read(1)
finally:
f.close()
blerg = (bin(infile[8])<<8 | bin(infile[9]))
print type
我意识到重铸为二进制可能是不必要的,但这是我后来的尝试之一。
我得到的错误是 TypeError: 'str' object cannot be mapped as index. 这对我来说是个新闻,因为我没有在任何地方使用字符串。 !@#% 我做错了什么?
编辑:完整追溯 文件 binaryExtractor.py,第 25 行,在 blerg = (bin(infile[8])
【问题讨论】:
-
请发布完整的回溯。此外,代码中的缩进是关闭的。而
type是一个内置函数(或内置类型),所以最好不要用它作为变量名。 -
“因为我没有在任何地方使用字符串”:
bin会返回一个字符串。 -
我没有意识到 bin 返回一个字符串,虽然它以数字形式返回二进制格式。
标签: python python-2.7 binary-data