我已经制作了一个代码来读取二进制文件,如下所示:
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)
我怎样才能做到这一点?
一旦达到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变量,因此它不会影响内置函数.