[pyar] consulta: ipython y como acceder al modulo __main__ como dict
Hugo Arregui
hugo.arregui en gmail.com
Jue Jul 7 13:45:14 ART 2011
Hola gente,
estoy intentando hacer esto:
#este es el archivo test.py
import sys
class Bar:
pass
print Bar
print Bar.__module__
print sys.modules[Bar.__module__]
print sys.modules[Bar.__module__].__dict__
este es el output ejecutandolo como $ python test.py
__main__.Bar
__main__
<module '__main__' from 'test.py'>
{'Bar': <class __main__.Bar at 0xb73b8fbc>, '__builtins__': <module
'__builtin__' (built-in)>, '__file__': 'test.py', '__package__': None,
'sys': <module 'sys' (built-in)>, '__name__': '__main__', '__doc__':
None}
este es el output ejecutandolo como $ ipython test.py
__main__.Bar
__main__
<module '__main__' from
'/usr/lib/python2.7/dist-packages/IPython/FakeModule.pyc'>
{'__builtins__': <module '__builtin__' (built-in)>, '__name__':
'__main__', '__file__':
'/usr/lib/python2.7/dist-packages/IPython/FakeModule.pyc',
'__nonzero__': <function <lambda> at 0x94ab33c>}
Mis preguntas serian:
- no hay algo que hace ruido en esto?: porque la clase "__main__.Bar"
no esta definida en el modulo main?
- tengo que resignarme a que no funcione en ipython o hay algun tipo
de workaround?
- es correcto lo que estoy haciendo o hay alguna manera mejor (mas
sencilla, mas estandar, etc)?
Gracias,
Saludos,
Hugo.
More information about the pyar
mailing list