1. ホーム
  2. python

[解決済み] 他のファイルからクラスをインポートする [重複].

2022-04-24 15:35:40

質問

<余談
この質問には、すでにここで回答があります :
クローズド 5年前 .

重複としてマークする前に 私の問題を読んでください。

サブディレクトリにあるファイルからクラスをインポートしようとしています。

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

であり file.py インプリメンテッドクラスがあります( Klasa ) 何を試したか。

をmain.pyに入れました。

from folder import file
from file import Klasa

エラーが表示されるのですが。

from file import Klasa

ImportError: file'という名前のモジュールはありません。

だけで使おうとすると。

from folder import file

こんなエラーが出ます。

tmp = Klasa()

NameError: 名前 'Klasa' が定義されていません。

私は、空の __init__.py をサブフォルダに入れたのですが、まだうまくいきません。 __init__.py : from file import Klasa で、まだうまくいきません。

mainとfileが同じフォルダにある場合、これは動作します。

from file import Klasa

しかし、私はそれらを別々のファイルにしたい。

どなたか、私が何を間違えているのか教えてください。

解決方法は?

あなたの問題は、基本的に、ファイルへの正しいパスを指定していないことです。

代わりに、メインスクリプトから試してみてください。

from folder.file import Klasa

または from folder import file :

from folder import file
k = file.Klasa()

あるいはまた

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