Python - Problema con funciones.

 
Vista:
sin imagen de perfil

Problema con funciones.

Publicado por Edgardo (1 intervención) el 22/09/2014 22:06:31
Hola tengo un problema y no logro resolverlo.

tengo esta funcion dentro del archivo win1.py
1
2
3
4
def Agregar():
    archivo = open("/home/b0nete/Documents/Ninja-IDE/Listado/personasFILE.csv", "a")
    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:

1
2
3
4
5
6
7
8
9
10
11
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 archivo?..
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder