2012-08-08 23 views
6

puedo crear dos archivos: test.py y test1234.pyCreación de un módulo de Python

test.py contiene:

import test1234 
t = test1234.test() 

test1234.py contiene:

class test(): 
    def __init__(self): 

Cuando se pone en la misma calamitosa ctory, python test.py se ejecuta sin error.

Sin embargo, si se crea un directorio prueba1234 y poner test1234.py y un espacio en blanco init .py en este directorio, python test.py da el error:

AttributeError: 'module' object has no attribute 'test'

¿Qué tengo debe hacer para test.py para poder ver la clase test en test1234.py?

+4

Downvoters care to weigh in? ¿Mi pregunta no es lo suficientemente clara? ¿Es inaceptable que no entendiera cómo funcionan las importaciones de Python? :) – Olhovsky

Respuesta

2

Tienes que importarlo a través del paquete, o ponerlo en __init__.py.

import test1234.test1234 
t = test1234.test1234.test() 
+0

Ponga lo que, específicamente, en '__init __. Py'? Solo deseo tener 'import test1234' en' test.py'. – Olhovsky

+0

No importa, veo que puede hacer 'desde test1234 import test' en' __init __. Py'. – Olhovsky

+0

Ten cuidado con ese último; considere renombrar el paquete o el submódulo. –