我编写了一个代码来读取二进制文件,如下所示:

file=open('myfile.chn','rb')
i=0
for x in file:
   i=i+1
   print(x)
file.close()


结果如下(部分):b'\x00\x00\x80?\x00\x00\x00\x005.xx\x00S\xd4\n'

如何检测此二进制文件的EOF?假设我找到EOF之后想打印()。我尝试过,但是什么也没发生。

if (x=='\n'):
print()


(更新)

@aix:可以说该文件只有几行结果,就像示例一样,每行末尾都有“ \ n”,我想在每行之间放置一个空格。

b'\x00\x00\x80?\x00\x00\x00\x005.xx\x00S\xd4\n'

b'\x82\x93p\x05\xf6\x8c4S\x00\x00\xaf\x07j\n'


我怎样才能做到这一点?

最佳答案

一旦到达EOF,for x in file:循环将终止。

with open('myfile.chn', 'rb') as f:
   i = 0
   for x in f:
      i += 1
      print(x)
print('reached the EOF')


我已重命名了file变量,以便它不会隐藏the built-in

关于python - 使用python在二进制文件中进行EOF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10581309/

10-11 22:02
查看更多