我对python非常陌生,使用python 2.7。我必须读入二进制文件,然后将一些字节连接在一起。所以我试了从python列表中访问二进制数据时出错
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'对象不能被解释为索引。 这是我的新闻,因为我没有在任何地方使用字符串。我做错了什么!@#%?
编辑:完整回溯 文件binaryExtractor.py 25行,在 blerg =(仓(infile中[8])< < 8 |仓(infile的[9])) 类型错误: 'STR' 对象不能解释为索引
请发布完整的回溯。此外,代码中的缩进也是关闭的。 'type'是内建函数(或内建类型),所以最好不要将它用作变量名称。 – 2012-08-07 20:17:29
“因为我没有使用任何字符串”:'bin'返回一个字符串,虽然。 – DSM 2012-08-07 20:23:02
http://mywiki.wooledge.org/XyProblem – 2012-08-07 20:23:59