我有一個二進制文件,我想讀取數據,一次一個字節,打印每個字節,因爲它運行。Python:讀取和打印一個二進制文件
我到目前爲止的代碼是:
f = open("test.dat", "rb")
try:
byte = f.read(1)
while byte != "":
print byte
raw_input("Press Enter to continue...")
byte = f.read(1)
finally:
f.close()
然而,這不是給我預期的結果。基本上,我想打印出每個字節0到127之間的數字。但是,第一次印刷給我一個笑臉符號,我知道它不在ASCII的前128個條目中。因此,看起來我打印的不僅僅是一個字節 - 即使我只指定讀取f.read中的1個字節。
這是怎麼回事?
謝謝。
'print ord(byte)'的輸出是什麼? – moooeeeep
順便說一下,不要在這裏使用'try/finally',使用['with'語句](http://docs.python.org/2/reference/compound_stmts.html#the-with-statement)。 –