我有一个二进制文件,我想读取数据,一次一个字节,打印每个字节,因为它运行。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)。 –