ホームページ > バックエンド開発 > Python チュートリアル > Python でモジュールをカスタマイズするにはどうすればよいですか?

Python でモジュールをカスタマイズするにはどうすればよいですか?

Guanhui
リリース: 2020-06-24 18:16:06
転載
2843 人が閲覧しました

Python でモジュールをカスタマイズするにはどうすればよいですか?

一般的に、メンテナンスを容易にするために、自分で作成した Python モジュールは、Python 付属のモジュールとは別に保存します。では、Python でカスタム モジュールを追加するにはどうすればよいでしょうか?

この質問に答える前に、まず 2 つの点を明確にする必要があります:

1. パッケージとフォルダーを厳密に区別します。パッケージの定義は、__init__.py が含まれるフォルダーです。 __init__.py がない場合は、通常のフォルダーです。

2. モジュールインポートの記述方法では、フォルダーパスではなく、パッケージパスのみが必要であることに注意してください。

Python 実行環境は、ライブラリ ファイルを検索するときに sys.path リストを走査します。実行環境に新しいクラス ライブラリを登録する場合、主に 2 つの方法があります:

1 。新しいパスを sys.path リストに追加します。

2. ライブラリ ファイルを sys.path リスト内のディレクトリ (site-packages ディレクトリなど) にコピーします。

コードを実行して sys.path を確認できます

import sys
print sys.path
ログイン後にコピー

実行結果

['/System/Library/Frameworks/Python.framework/Versions/ 2.7 /lib/python2.7/lib-old', '/System/Library/Frameworks/Python.

framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/ Library /Frameworks/Python.framework/Versions/2.7/Extras/

lib/python/PyObjC', '/Library/Python/2.7/site-packages']

これ2 つの方法のうち 1 つ目の方法はより簡単で、環境への影響が最も少なくなります。

最初の方法の操作方法を見てみましょう:

Python インストール ディレクトリの site-package フォルダーに新しい pythontab.pth を作成します。上記の site-package のパス/ Library/Python/2.7/site-packages、ファイルの内容は次のとおりです: インポートする必要があるパッケージが配置されているフォルダーのパス。

このようにして、Python が既知のライブラリ ファイル ディレクトリを移動中に .pth ファイルを見つけると、ファイルに記録されているパスを sys.path 設定に追加し、.pth ファイルには次のように表示されます。パッケージは Python 実行環境によって正常に検出され、組み込みモジュールを使用するのと同じようにカスタム モジュールを導入できます。

デフォルトの sys.path に独自のモジュールまたはパッケージのパスが含まれていない場合は、sys.path.apend メソッドを使用してパッケージ パスを動的に追加することもできます。

ナレッジポイントの拡張:

Python でカスタム モジュールを追加するための原則:

1. パッケージとフォルダーを厳密に区別します。パッケージの定義は、__init__.py が含まれるフォルダーです。 __init__.py がない場合は、通常のフォルダーです。

2. パッケージをインポートします。 Python インストール ディレクトリの site-package フォルダーに新しい xxx.pth を作成し、その内容はインポートする必要があるパッケージのフォルダー パスです。

3. モジュールをインポートします。これは一般的なモジュール インポートの記述方法ですが、フォルダー パスではなく、パッケージ パスのみが必要であることに注意してください。

推奨チュートリアル: 「Python チュートリアル

以上がPython でモジュールをカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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