Voordat u het als duplicaat markeertlees alstublieft mijn probleem:
Ik probeer een klasse te importeren uit een bestand uit een submap
> main.py
> --->folder/
> ----->file.py
en in file.py
heb ik een klasse geïmplementeerd ( Klasa
)
Wat heb ik geprobeerd:
main.py invoeren:
from folder import file
from file import Klasa
Ik krijg de foutmelding:
van Klasa importeren
ImportError: Geen module met de naam ‘bestand’
Als ik alleen probeer te gebruiken:
from folder import file
Ik krijg deze foutmelding:
tmp = Klasa()
NameError: naam ‘Klasa’ is niet gedefinieerd
Ik heb een lege __init__.py
in de submap geplaatst en het werkt nog steeds niet, en ik heb in de __init__.py
: from file import Klasa
en werkt nog steeds niet.
Als hoofd en bestand zich in dezelfde map bevinden, werkt dit:
from file import Klasa
maar ik wil dat ze in aparte bestanden staan.
Kan iemand me vertellen wat ik verkeerd doe?
Antwoord 1, autoriteit 100%
Uw probleem is eigenlijk dat u nooit het juiste pad naar het bestand heeft opgegeven.
Probeer in plaats daarvan vanuit je hoofdscript:
from folder.file import Klasa
Of, met from folder import file
:
from folder import file
k = file.Klasa()
of opnieuw:
import folder.file as myModule
k = myModule.Klasa()