ホームページ  >  記事  >  バックエンド開発  >  プロジェクト モジュールの名前が同じ場合に標準ライブラリからインポートするにはどうすればよいですか?

プロジェクト モジュールの名前が同じ場合に標準ライブラリからインポートするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-07 05:44:02880ブラウズ

How to Import from the Standard Library When a Project Module Has the Same Name?

プロジェクト モジュールが同じ名前の場合の標準ライブラリからのインポート (Python のモジュール検索パスの制御)

Python の汎用インポート システムにより、標準ライブラリだけでなく、標準ライブラリからもモジュールをインポートできます。プロジェクトディレクトリ内。ただし、プロジェクト内のモジュールが標準ライブラリ モジュールと同じ名前である場合、競合が発生する可能性があります。

問題:

から標準ライブラリ Calendar クラスをインポートできません。カレンダー モジュールを含むプロジェクト内で実行すると、エラーが発生します。カレンダーのインポートから試行します。カレンダーは、代わりにプロジェクト モジュールからインポートされます。

解決策 (絶対インポート):

モジュールの名前を変更しないでください。代わりに、Python 2.5 以降で利用可能な Python の絶対インポート機能を利用します。

from __future__ import absolute_import
import socket

Python 3.x では、絶対インポートがデフォルトの動作です。 Pylint は警告を生成する可能性がありますが、コードは有効です。

説明:

絶対インポートでは、Python がモジュールを検索する場所を明示的に指定し、通常は以下が含まれるデフォルトの検索パスをオーバーライドします。プロジェクトディレクトリ。 Absolute_import を宣言すると、Python は同じ名前のプロジェクト モジュールを考慮する前に標準ライブラリを検索します。

以上がプロジェクト モジュールの名前が同じ場合に標準ライブラリからインポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。