У меня есть генератор, где я хотел бы добавить начальное и конечное значение к фактическому содержимому, это примерно так:
# any generic queue where i would like to get something from
q = Queue()
def gen( header='something', footer='anything' ):
# initial value header
yield header
for c in count():
# get from the queue
i = q.get()
# if we don't have any more data from the queue, spit out the footer and stop
if i == None:
yield footer
raise StopIteration
else:
yield i
Конечно, приведенный выше код не работает - моя проблема в том, что я бы хотел, чтобы он был таким, что, когда в очереди ничего не осталось, я хочу, чтобы генератор выплюнул footer
И поднимите StopIterator
. любые идеи?
Приветствия,