Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/09/2014, 14:13
b0nete
 
Fecha de Ingreso: septiembre-2014
Mensajes: 2
Antigüedad: 10 años, 2 meses
Puntos: 0
Duda con funciones.

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.