Thursday, 1 February 2018

python - Importing class from another file




Before you mark it as duplicate please read my problem:



I am trying to import a class from a file from a subdirectory



> main.py
> --->folder/
> ----->file.py



and in file.py i have a class imlpemented ( Klasa)
What have I tried:



putting in main.py:



from folder import file
from file import Klasa



I am getting the error:




from file import Klasa



ImportError: No module named 'file'




When I try to use just:




from folder import file


I get this error:




tmp = Klasa()



NameError: name 'Klasa' is not defined





I have put an empty __init__.py in the subfolder and it still does not work, and I have put in the __init__.py : from file import Klasa and still doesnt work.



If main and file are in the same folder this work:



from file import Klasa



but i want them to be in separate files.




Can someone tell me what i am doing wrong?


Answer



Your problem is basically that you never specified the right path to the file.



Try instead, from your main script:



from folder.file import Klasa


Or, with from folder import file:




from folder import file
k = file.Klasa()


Or again:



import folder.file as myModule
k = myModule.Klasa()


No comments:

Post a Comment

casting - Why wasn't Tobey Maguire in The Amazing Spider-Man? - Movies & TV

In the Spider-Man franchise, Tobey Maguire is an outstanding performer as a Spider-Man and also reprised his role in the sequels Spider-Man...