Hola tengo un problema y no logro resolverlo.
tengo esta funcion dentro del archivo win1.py
Código:
def Agregar():
archivo = open("/home/b0nete/Documents/Ninja-IDE/Listado/personasFILE.csv", "a") #a = APPEND
archivo.write(txtNombre.get() +","+ txtApellido.get() + "\n")
archivo.close()
Lo que hace es recuperar lo que contiene la caja de texto y cargarlo en un archivo, funciona exelente.
Pero quiero meter esta función y otras varias en otro archivo llamado metodos.py
entonces lo que hice fue copiar las funciones tal cual estaban en win1.py y pegarlas.
importe metodos.py a win1.py con "from metodos.py import *", lo ejecuto y se carga la ventana win1.py pero al presionar ACEPTAR para que me cargue los datos en el archivo me da este error:
Código:
Running: /home/b0nete/Documents/Ninja-IDE/Listado/win1.py (Mon Sep 22 17:04:05 2014)
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1486, in __call__
return self.func(*args)
File "/home/b0nete/Documents/Ninja-IDE/Listado/methods.py", line 12, in Agregar
archivo.write(txtNombre.get() +","+ txtApellido.get() + "\n")
NameError: global name 'txtNombre' is not defined
Entiendo que no encuentra txtNombre y txtApellido porque están en otro archivo, pero ahora mi duda es como hacerlo funcionar.
Como le paso a la funcion los parámetros del otro modulo?..
Gracias.