Zacząłem uczyć się Pythona i pisać aplikację ćwiczeń. Struktura katalogów wyglądapython: Dwa moduły i klasy o tej samej nazwie w różnych pakietach
src
|
--ShutterDeck
|
--Helper
|
--User.py -> class User
--Controller
|
--User.py -> class User
Katalog src
jest PYTHONPATH
. W innym pliku, powiedzmy main.py
, chcę uzyskać dostęp do obu klas User
. Jak mogę to zrobić.
Próbowałem za pomocą następujących, ale to się nie powiedzie:
import cherrypy
from ShutterDeck.Controller import User
from ShutterDeck.Helper import User
class Root:
@cherrypy.expose
def index(self):
return 'Hello World'
u1=User.User()
u2=User.User()
To z pewnością niejednoznaczna. Drugi (C++ sposób to zrobić) sposób, że mogę myśleć jest
import cherrypy
from ShutterDeck import Controller
from ShutterDeck import Helper
class Root:
@cherrypy.expose
def index(self):
return 'Hello World'
u1=Controller.User.User()
u2=Helper.User.User()
Ale kiedy Powyższy skrypt jest uruchamiany, to daje następujący błąd
u1=Controller.User.User()
AttributeError: 'module' object has no attribute 'User'
nie jestem w stanie dowiedzieć się, dlaczego to pomija? Katalogi są w nich zapisane.