Tengo 2 archivos main.py e irc.py.
main.pyPython: ¿Cómo puedo usar la variable del archivo principal en el módulo?
import irc
var = 1
func()
irc.py
def func():
print var
Cuando trato de ejecutar main.py estoy recibiendo este error
NameError: global name 'var' is not defined
Cómo hacer que funcione?
@Edit
pensé que hay una mejor solución, pero por desgracia el único que he encontrado es hacer otro archivo e importarlo a ambos archivos
main.py
import irc
import another
another.var = 1
irc.func()
irc.py
import another
def func():
print another.var
another.py
var = 0
Sería más fácil para mí de seguir esta función para archivo principal en lugar de añadir este argumento – gr56
@ GR56: Entonces suena como refactorización está en orden. Si eso tampoco es posible, elegiría un tercer módulo que contenga solo el objeto 'var' y ambos lo importen. Si eso funciona para usted, publíquelo como respuesta a su propia pregunta y acéptelo. –
@SamirTalwar Puede hacer esto para funciones, ¿qué tal para crear instancias de clases? Por ejemplo, desea definir instancias de una clase en otro módulo que puede importar. Los argumentos no pueden ser marcadores de posición en este caso. –