πακέτων Python - εισαγωγές ανά κατηγορία, όχι το αρχείο

ψήφοι
43

Πείτε Έχω την ακόλουθη δομή αρχείου:

app/
  app.py
  controllers/
    __init__.py
    project.py
    plugin.py

Εάν η εφαρμογή / ελεγκτές / project.py ορίζει ένα έργο τάξη, app.py θα το εισάγουμε σαν αυτό:

from app.controllers.project import Project

Θα ήθελα απλά να είναι σε θέση να το κάνουμε:

from app.controllers import Project

Πώς θα ήταν αυτό να γίνει;

Δημοσιεύθηκε 05/09/2008 στις 01:15
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
79

Θα πρέπει να βάλετε

from project import Project

στο controllers/__init__.py.

Σημειώστε ότι όταν Απόλυτη εισαγωγές γίνει η προεπιλογή (Python 2.7;), θα θέλετε να προσθέσετε μια τελεία πριν από το όνομα της μονάδας (για να αποφύγει τη σύγκρουση με ένα μοντέλο top-level ονομάζεται project), δηλαδή,

from .project import Project
Απαντήθηκε 05/09/2008 στις 01:18
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more