Python のスクリプトで他のファイルを参照する関数を実装する方法

WBOY
リリース: 2016-07-06 13:29:55
オリジナル
1369 人が閲覧しました

ファイルをインポートするとき、Python は現在のスクリプトが配置されているディレクトリのみを検索し、エントリ スクリプトの実行ディレクトリと sys.path に含まれるパス (パッケージのインストール アドレスなど) をロード (エントリ ポイント) します。したがって、現在のスクリプトで他のファイルを参照したい場合は、ファイルをスクリプトと同じディレクトリに配置する以外に、いくつかの方法があります:

1. ファイルの場所を sys.path に追加します

リーリー

2. ファイルディレクトリに新しい __init__.py ファイルを作成し、そのファイルを呼び出します

リーリー

init.py ファイル

a) .init.py ファイルの役割

このファイルの主な機能は、Python パッケージを初期化することです。ファイルがディレクトリに含まれている場合、Python インタープリターはそのディレクトリをパッケージとして扱います。次のステップで、import ステートメントを使用して、他の .py スクリプトでこのディレクトリ内のファイルを参照できます。標準の Python モジュールの構造は次のとおりです:

リーリー

b). __init__ ファイルは空でもかまいませんが、パッケージの要件を確立するために使用できます。一般に、パッケージ レベルにインポートする必要があるクラスや関数などは、簡単に参照できるようにこのファイルに記述されます。例: file.py ファイルに File クラスがある場合、init.py ファイルに何も書き込まれていないときに File クラスを参照するには、次の操作を行う必要があります。

リーリー
ファイルが __init__.py ファイルのパッケージにインポートされる場合、File クラスはパッケージ レベルで直接参照できます。


リーリー
さらに、注意すべき点の 1 つは、__init__.py ファイル内の all 変数です。

インタープリターが __init__.py ファイル内の __all__ 変数を監視する場合、 package import * から実行するときに、__all__ 変数にリストされているモジュールのみがインポートされます。

例: 上記の構造で submodule1 モジュールのみを導入したい場合は、subpackage/__init__.py ファイルで __all__ = ['submodule1'] を定義できます。サブパッケージを参照する場合、from subpackage import * は submodule1 モジュールのみを導入します。 。

3. ファイルが配置されているディレクトリをPython環境変数に追加します

リーリー
上記は、エディターが提供するPythonのスクリプトで他のファイル関数を参照する実装方法の全体です。スクリプトホームをサポートしてください〜

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート