es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pasar un argumento a una función llamada dentro de otra función en Python.

Estoy tratando de pasar un argumento de evento de una función a otra. El código de ejemplo que tengo ahora es:

def handle_store(event):

ds = event.dataset
save(ds,event)

def save(ds,event):

ds.file_meta = event.file_meta
ds.save_as(ds.SOPInstanceUID, write_like_original=False)

return 0x0000

handlers = [(evt.EVT_C_STORE, handle_store)]

Se puede pasar el ds a la siguiente función de guardar, pero no el evento. ¿Alguien puede ayudar? Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para pasar el argumento de evento desde la función handle_store a la función save, simplemente puedes modificar la llamada de función en la función handle_store para incluir el argumento de event:

    def handle_store(event):
        ds = event.dataset  
        save(ds, event) 
    

    Esto pasará tanto los argumentos de ds y event a la función save. Luego, en la función save, puedes usar el argumento de event según sea necesario:

    def save(ds, event): 
        ds.file_meta = event.file_meta
        ds.save_as(ds.SOPInstanceUID, write_like_original=False)
        return 0x0000   
    

    Con esta modificación, el argumento de event pasará exitosamente desde la función handle_store hacia la función save.

Comments are closed.