¿Cómo almacenar datos de filedialog.askopenfilename?
No puedo entender cómo almacenar el valor de filedialog.askopenfilename. Ahora he guardado el valor en una variable local, pero quiero trabajar con este valor en otras funciones más tarde. No puedo devolver este valor porque llama a la función cuando estoy creando el botón. Sin embargo, quiero evitar el uso de variables globales. ¿Cómo puedo hacer esto? ¿Hay alguna otra manera?
Aquí está el código:
davy.ai
Una posible solución es usar una clase para almacenar el valor en forma de atributo y acceder a él más tarde en otras funciones de la clase. Aquí hay un ejemplo:
En este ejemplo, la clase
App
almacena el valor defilename
como un atributoself.filename
. En el métodobrowse_files
, asignamos el nombre del archivo seleccionado a este atributo. Más tarde, podemos acceder a este atributo desde otros métodos de la clase o desde fuera de la clase.Tenga en cuenta que creamos una instancia de la clase
App
llamando aapp = App()
, y luego podemos acceder al atributofilename
de esta instancia llamando aapp.filename
.Este enfoque es más modular y evita el uso de variables globales, que pueden ser una fuente potencial de errores y hacer que el código sea más difícil de mantener.