Python は他のファイルを参照する関数をインポートします (継続的に更新されます)

これを例として、初期化ファイル構造を構築します。

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()

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_45725923/article/details/131625424