ホームページ  >  記事  >  バックエンド開発  >  Python パッケージをインポートするにはどのような方法がありますか?

Python パッケージをインポートするにはどのような方法がありますか?

WBOY
WBOY転載
2023-04-18 21:16:034572ブラウズ

実行ファイルと対象のインポートモジュールは同じディレクトリにあります

直接インポート

たとえば、envパッケージma_mainにインポートしたいと考えています。 .py make_env.py ファイル。これにより関数

が読み取られます。これは、現時点では ma_main.pyenv package が存在するためです。 src の両方はルート ディレクトリにあるため、

Python パッケージをインポートするにはどのような方法がありますか?

herefromその後#を直接インポートしてインポートを続けることができます。 ##import# becausemake_env.py には make_env() という関数が 1 つだけあるため、この関数を直接インポートし、# を呼び出すときに名前を直接記述します。

Python パッケージをインポートするにはどのような方法がありますか?

##from env import make_env

の場合、make_env.pymake_env() 関数 を呼び出すと、 . ステートメント

PS:

from env import make_envimport env.make_env も同じです。 実行ファイルとターゲットのインポート モジュールが同じディレクトリにありません

実行可能ファイルとモジュールが同じディレクトリにない場合、直接インポートでは

カスタム ファイルが見つかりませんモジュール

Python パッケージをインポートするにはどのような方法がありますか?

Python パッケージをインポートするにはどのような方法がありますか?例:

pwcong

パッケージを main.py にインポートするには、次のように実行します。 __init__.py の一部のメソッド ただし、

main.py

./Torch/main/ および pwcong # の下にあります##./Torch/ の下は同じディレクトリにありません。このとき、main.py

file

Python によって検索されるパスのリストインタープリター モジュール には ./Torch が含まれていないため、現時点では、Python に付属の sys パッケージ

を使用して、次のパスをインポートする必要があります。

カスタム モジュール を追加し、Python インタープリターによる モジュール検索のパス リストを main.py に手動で追加し、その後 Python インタープリター検索モジュールは正常にインポートできます。パス リスト

Python では、
    モジュールをインポートすると、インタープリターは
  • モジュールを見つけます

    パスリストから。 このパス リストには通常、Python インタープリター インストールの

    デフォルト パス
  • と、
  • 環境変数

    PYTHONPATH# で指定されたパスが含まれます。 ##。 sys.path.append()

    関数を使用して
  • このパス リストに新しいパス
  • を追加し、インタプリタが見つけられるようにします。指定されたモジュール。

    新しいパスを追加した後、import

    ステートメントを使用してパスの下にモジュールをインポートできます。
  • これは 名前空間

    には影響しませんが、単に
  • インタプリタにインポートするモジュールの場所を
  • 指示するだけです。

    #操作手順カスタム モジュールをインポートする手順は次のとおりです。

最初に sys モジュールをインポートします

    次に、
  • sys.path.append(path)

    関数

  • # を使用して、

    カスタム モジュールが配置されているディレクトリをインポートします。 ##カスタム モジュールをインポートします。

    つまり、
  • main.py
  • の先頭の数行に次のコードを記述して、ファイル

    import sys
    sys.path.append(r"C:\Users\PC\Desktop\Torch") # 要加上地址生命符r, 并且要是绝对路径
    ## の Python インタープリター パスを手動で定義します。 #In

    __init__.py
  • で hello 関数を定義し、hello を出力します

sys.path.append を通じてインタープリター モジュールによって検索されたパスを追加します。次に、モジュール名 Function

モジュールには Python パッケージをインポートするにはどのような方法がありますか?__init__.py

ファイルが必要です

Python では、

ディレクトリ Python パッケージをインポートするにはどのような方法がありますか?requires

パッケージ

とみなされるには、__init__.py ファイルが含まれている必要があります。このファイルは空のファイルであることも、パッケージ初期化コードが含まれていることもあります。

__init__.py ファイルのないディレクトリは単なるディレクトリであり、他の py ファイルは、このディレクトリ内の py ファイルの関数 __init__ をインポートできません。 .pyファイルには、次のものが含まれる場合があります:

宣言名前空間

: __init__.pyファイルには、変数、クラス、および関数

  • 初期化コード: init.py ファイルには、パッケージのインポート時に実行される初期化コードを含めることができます。これは、パッケージの構成やパッケージの依存関係がインストールされていることの確認など、特定の必要な操作を実行するために使用できます。

  • サブモジュール インポート: init.py ファイルには、他のモジュールをインポートするコードを含めることができます。これを使用して、パッケージの名前空間にサブモジュールを追加し、ユーザーがサブモジュールにアクセスできるようにすることができます。

名前空間

Python では、名前空間は変数と関数の名前を含む辞書であり、各識別子 (識別子) の名前と値を記録するために使用されます。 Python インタプリタの各名前空間は辞書オブジェクトであり、その変数と関数には辞書のキーと値のペアを通じてアクセスできます。

Python には 3 つの名前空間があります:

  • 組み込み名前空間: Python インタープリターに組み込まれた変数と関数が含まれます。関数 print() 関数、len() 関数などのモジュールをインポートせずに、プログラム内で直接使用できます。

  • グローバル名前空間: モジュールの定義時に作成され、モジュール ファイルで定義された変数と関数が含まれます。これらの変数と関数はモジュール内のどこでも使用できます。

  • ローカル名前空間: 関数が呼び出されたときに作成され、関数内で定義された変数と関数が含まれます。これらの変数と関数は関数内でのみ使用できます。

ネームスペースの役割は、異なるネームスペース間での変数名または関数名の競合を回避し、プログラム内の変数と関数をより適切に管理することです。 Python では、global キーワードと nonlocal キーワードを使用して、グローバル名前空間と非ローカル名前空間の変数にアクセスし、変更できます。

以上がPython パッケージをインポートするにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。