我编写了一个代码来读取二进制文件,如下所示:
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/