1. ホーム
  2. python

[解決済み] 親ディレクトリからのスクリプトのインポート

2023-05-25 18:52:18

質問

親ディレクトリにあるモジュール(pythonファイル)をインポートするには?

両方のディレクトリに __init__.py ファイルがありますが、親ディレクトリからファイルをインポートすることはできませんか?

このフォルダー レイアウトでは、スクリプト B がスクリプト A をインポートしようとしています。

Folder A:
   __init__.py
   Script A:
   Folder B:
     __init__.py
     Script B(attempting to import Script A)

スクリプトBの以下のコードは動作しません。

import ../scriptA.py # I get a compile error saying the "." is invalid

どのように解決するのですか?

Pythonではスクリプトをインポートするのではなく、モジュールをインポートします。いくつかのPythonモジュールは、あなたが直接実行することができるスクリプトでもあります(それらはモジュールレベルでいくつかの有用な仕事をします)。

一般的には、相対インポートよりも絶対インポートを使用することが望ましいです。

toplevel_package/
├── __init__.py
├── moduleA.py
└── subpackage
    ├── __init__.py
    └── moduleB.py

moduleB :

from toplevel_package import moduleA

を実行したい場合は moduleB.py をスクリプトとして実行したい場合は、親ディレクトリが toplevel_package の親ディレクトリが sys.path .