Импорт класса из другого файла

Перед тем, как пометить его как повторяющийся, прочитайте мою проблему:

Я пытаюсь импортировать класс из файла из подкаталога

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

и в file.py у меня есть класс imlpegeded (Klasa) Что я пробовал:

вставьте main.py:

from folder import file
from file import Klasa

Я получаю сообщение об ошибке:

из импорта файла Klasa

ImportError: нет модуля с именем 'file'

Когда я пытаюсь использовать только:

from folder import file

Я получаю эту ошибку:

tmp = Klasa()

NameError: имя 'Klasa' не определено

Я положил пустую __init__.py в подпапку, и она все еще не работает, и я поместил в __init__.py: from file import Klasa и все еще не работает.

Если основной файл и файл находятся в одной папке, выполните следующие действия:

from file import Klasa

но я хочу, чтобы они были в отдельных файлах.

Может кто-нибудь сказать мне, что я делаю неправильно?

Ответ 1

Ваша проблема в том, что вы никогда не указали правильный путь к файлу.

Попробуйте вместо этого из основного script:

from folder.file import Klasa

Или, с from folder import file:

from folder import file
k = file.Klasa()

Или снова:

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