Skip to main content
 首页 » 编程设计

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

2025年05月04日19me-sa

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

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'/p>

我如何检测这个二进制文件的 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 .