我對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