python rendimiento y stopiteración en un bucle?

Tengo un generador donde me gustaría agregar un valor inicial y final al contenido real, es algo como esto:

# 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

Por supuesto, el código anterior no funciona: mi problema es que me gustaría que, cuando no quede nada en la cola, quiero que el generador escupe lafooter Y elevar elStopIterator. ¿algunas ideas

Salud

Respuestas a la pregunta(2)

Su respuesta a la pregunta