使用python的二进制文件中的EOF

Smi*_*ith 1 python binary eof

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

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

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

如何检测此二进制文件的EOF?我想在找到EOF后打印().我试过这个,但什么都没发生.

if (x=='\n'):
print()
Run Code Online (Sandbox Code Playgroud)

(更新)

@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'
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

NPE*_*NPE 6

一旦达到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')
Run Code Online (Sandbox Code Playgroud)

我已经重命名了file变量,因此它不会影响内置函数.