Я запустил код
import array
def readImageFeatures(path):
f = open(path, 'rb')
while True:
asin = f.read(10)
if asin == '':
break
a = array.array('f')
a.fromfile(f, 4096)
yield asin, a.tolist()
readImageFeatures('image_features_Baby.b')
, и он работал нормально. Единственное, что я сделал, это очистил вкладки / пробелы. Это может быть вашей проблемой. Я также поместил ваш разрыв в новую строку, но это не должно быть вашей ошибкой.
Мне действительно пришлось исправить эти строки:
f = open(path, 'rb')
while True:
до
f = open(path, 'rb')
while True:
для отступа. Также, если вы пытаетесь сделать:
import array
def readImageFeatures('some_file_here.txt'):
f = open(path, 'rb')
while True:
asin = f.read(10)
if asin == '': break
a = array.array('f')
a.fromfile(f, 4096)
yield asin, a.tolist()
, тогда прочитайте комментарий, прикрепленный к вопросу о разнице между вызовом и определением функции.