2010-10-20 14 views
1

Ok oui c'est une question très stupide, mais juste que je deviens un peu confus. J'ai une structure de fichier qui ressemble à ceci: -Python importe-Besoin de quelqu'un pour vérifier cela s'il vous plaît

-Mainapplication 
    -models.py 
-Helpingmodules 
    -Folder1 
    -module1.py 

Maintenant, je dois importer des modèles dans Module1. Donc module1.py je viens de faire: -

from Mainapplication import models 

Maintenant, cela fonctionne très bien, mais je reçois un sentiment qu'il pourrait se tromper. Quelqu'un peut-il s'il vous plaît laissez-moi savoir si c'est la bonne façon.

+3

"J'ai l'impression que cela pourrait être faux" Pourquoi? Cela fonctionne parfaitement. Etes-vous inquiet pour votre réglage 'PYTHONPATH'? –

+1

autre que l'importation de votre application principale dans un module d'aide, je ne vois aucun problème – SilentGhost

+0

Merci S.Lott et SilentGhost – Rasmus

Répondre

2

Il n'y a rien de mal à l'importation, mais si les noms de vos paquets sont précis, cela ressemble à une faille de conception dans le fait que vous détruisez la réutilisabilité du code; Je m'attendrais à ce qu'un paquet de «modules d'aide» soit indépendant de l'application qu'ils aident (bien que dans le cas où le nom de paquet est si vague que je pourrais être loin de leur but.)

+0

Merci Woobie, oui les noms des paquets ne sont pas corrects.Mais oui le concept de réutilisabilité m'a orienté vers quelque chose ici .. – Rasmus

1

Il n'y a rien de mal avec votre import.

Vous pouvez dire:

import Mainapplication.models 

mais vous auriez à faire référence models avec son préfixe de package à chaque fois que vous l'avez utilisé, par exemple:

Mainapplication.models.foo("bar") 

La façon dont vous avez fait il vous permet d'utiliser le formulaire suivant qui est généralement préférable:

models.foo("bar") 

Pour l'histoire complète, vous pouvez read the documentation.

+0

Merci Dave, un jusqu'à! – Rasmus