我有一个带有小标题的二进制文件,然后是100个相同格式的二进制数据块。我可以这样读取它:
with open(filename, "rb") as f:
read_header(f)
while 1:
data = f.read(size)
if len(data) != size:
break
do_stuff(data)
对于应该简单的事情, while 1
/ break
似乎很奇怪。有没有办法把它写成for
循环(不只是将while
循环隐藏在无意义的额外类中,或者一次读取整个文件)?
类似的东西:
with open(filename, "rb") as f:
read_header(f)
for data in f.split(size):
do_stuff(data)