親ディレクトリからファイルをインポートしますか? 質問する

親ディレクトリからファイルをインポートしますか? 質問する

ディレクトリ構造は次のようになります。

application
    tests
        main.py
    main.py

application/main.py にはいくつかの関数が含まれています。

tests/main.py にはこれらの関数のテストが含まれますが、トップレベルの main.py をインポートできません。次のエラーが発生します。

ImportError: Import by filename is not supported.

次の構文を使用してインポートを試みています:

import main

何が間違っているのでしょうか?

ベストアンサー1

スクリプトの移植性を高めたい場合は、親ディレクトリを自動的に見つけることを検討してください。

import os, sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# import ../db.py
import db

おすすめ記事