記事ディレクトリ
これを例として、初期化ファイル構造を構築します。
3 レベルのファイル構造
- このうち、フォルダ A および B は、ファイル c および d と同じ階層にあります。
- ファイル a と b は同じレベルにあります。
- テストを容易にするために、初期化ファイル a、b、c、d の内容は次のとおりです。
- ファイル内関数はテスト出力に使用されます。
- さまざまな状況については以下で説明します
【1】同一ディレクトリ・同階層にある他のファイルをインポートする機能(
c.py文件导入d.py文件的函数
)
(1)只引入d.py文件
import d
def functionC():
print("引入functionC")
d.functionD()
- d で関数を呼び出す場合は、d.functionD() が必要です
- インポートしたファイルの名前を変更することもできます。
- as を追加するだけです
import d as newNameD
def functionC():
print("引入functionC")
newNameD.functionD()
(2)直接引入函数
- 単一の機能を導入する
from d import functionD
def functionC():
print("引入functionC")
functionD()
(3)引入全部函数
from d import *
def functionC():
print("引入functionC")
functionD()
【2】同じディレクトリ内の異なる階層にある他のフォルダーにあるファイルをインポートする(
c.py导入A文件夹内的a.py文件的函数
)
(1)只引入a.py文件
- 関数の呼び出しにはファイル名が必要です a.functionA() などの関数名
from A import a
def functionC():
print("引入functionC")
a.functionA()
(2)直接引入函数
- 呼び出すときに関数名を直接書くだけです
from A.a import functionA
def functionC():
print("引入functionC")
functionA()
(3)引入全部函数
from A.a import *
def functionC():
print("引入functionC")
functionA()
【3】別ディレクトリにあるファイルをインポートする(
B文件中b.py导入A文件中a.py文件内的函数
)
前置条件:
- 【1】import sysを導入し、sys.path.append(“…/”)でパスを繋ぎます
- 【2】インポートするフォルダーをSources Rootに設定する
- この例では、A フォルダーをソース ルートとして設定します。
- 新規 -> ディレクトリをマーク -> ソースルート
(1)只引入a.py文件
- a.functionA() を呼び出す
import sys
sys.path.append("../A")
import a
def functionB():
print("引入functionB")
a.functionA()
(2)直接引入函数
import sys
sys.path.append("../A")
from a import functionA
def functionB():
print("引入functionB")
functionA()
(3)引入全部函数
import sys
sys.path.append("../A")
from a import *
def functionB():
print("引入functionB")
functionA()