2012-01-30 1 views
5

Sto cercando di organizzare i miei moduli e le mie classi. Tutto il tempo che raccogliere i miei classi correlate in un modulo in questione in modo da poter fare le cose come:memorizza ogni classe in un file separato python

from vehicles.car import engine 

Nei veicoli di directory c'è un nome auto di file che contiene il motore di classe. Chiaro.

Ora sto esaminando la possibilità di memorizzare una classe in un file. Quindi posso fare qualcosa del tipo:

from filters import air 

e la classe aerea è un file a parte. Tuttavia non è chiaro per me come posso avere una classe denominata aria che viene memorizzato in un proprio file chiamato air.py

Se filters.py conteneva tutte le mie classi, allora questa importazione avrebbe funzionato, ma non è quello che voglio.

Eventuali suggerimenti o indicazioni?

risposta

8

Creare una directory denominata filters e file filters/__init__.py e filters/air.py.

In filters/__init__.py, avere: from air import air e in filters/air.py, definire la classe air.

Poi:

$ 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

Grazie! Questo lo fa –

+0

Per Python 3, usare 'da .air import air' (con un punto per il percorso relativo) in' __init __. Py ' –