【发布时间】:2012-05-14 10:10:46
【问题描述】:
我编写了一个读取二进制文件的代码,如下所示:
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'
我该怎么做?
【问题讨论】:
-
要添加空行,您可以在循环内简单地
print(x + '\n')。我没有看到这与 EOF 有什么关系...... -
它有错误:TypeError: can't concat bytes to str