Итак, я написал этот фрагмент кода:
def character(f):
#Reads one character(byte by byte) from the given text file
c = f.read(1)
while c:
yield c
c = f.read(1)
Я хочу, чтобы это значение было проанализировано в приведенной ниже функции.Когда я запускаю этот код, ничего не происходит.Ошибок нет, но вывод тоже не показывается.dbc_cabin_read
достигает значения счетчика 30, но ничего не печатается.Я думаю, что программа не входит в цикл.
def dbc_cabin_read(f):
try:
f.seek(0,0)
ctr = 0
for line in f.readlines():
ctr += 1
if ctr == 30:
for c in character(f):
print(c, sep="", end="")
break
finally:
f.close()
В character(f)
, если я использую return
вместо yield
, возникает ошибка типа:
Исключительная ситуация: TypeError Объект NoneType не являетсяповторяемый