2012-01-30 12 views
5

Estoy buscando organizar mis módulos y clases. Todo el tiempo que recoger mis clases relacionadas en un módulo en cuestión para que pueda hacer cosas como:almacena cada clase en un archivo por separado de python

from vehicles.car import engine 

En los vehículos de directorio hay un coche llamado fichero que contiene el motor de clase. Claro.

Ahora estoy estudiando la posibilidad de que pueda almacenar una clase en un archivo. Entonces puedo hacer algo como:

from filters import air 

y la clase de aire es un archivo en sí mismo. Sin embargo, no tengo claro cómo puedo tener una clase llamada air que se almacena en su propio archivo llamado air.py

Si filters.py contiene todas mis clases, esta importación funcionará, pero eso no es lo que quiero.

¿Algún consejo o sugerencia?

Respuesta

8

Cree un directorio llamado filters, y los archivos filters/__init__.py y filters/air.py.

En filters/__init__.py, tenga: from air import air, y en filters/air.py, defina la clase air.

continuación:

$ python 
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24) 
[GCC 4.5.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from filters import air 
>>> air 
<class 'filters.air.air'> 
>>> 
+0

Gracias! Eso lo hace. –

+0

Para Python 3, use 'from .air import air' (con un punto para la ruta relativa) en' __init __. Py' –

Cuestiones relacionadas