ホームページ >バックエンド開発 >Python チュートリアル >Python パッケージ内の静的ファイルにアクセスするにはどうすればよいですか?

Python パッケージ内の静的ファイルにアクセスするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-06 07:52:12448ブラウズ

How Can I Access Static Files Within My Python Packages?

Python パッケージ内から静的ファイルへのアクセス

Python パッケージ内にある静的ファイルへのアクセスは、さまざまな方法で実現できます。推奨されるアプローチの 1 つは、Python バージョン 3.7 以降で利用可能な importlib.resources モジュールを活用することです。

importlib.resources モジュールを利用するには、次の手順に従います。

  1. importlib.resources を確認します。 impresources としてインポートされます。
  2. 相対インポートを使用して、静的ファイルを含むパッケージをインポートします
  3. 次の構文を使用して、インポートされたパッケージ内のファイルにアクセスします。
inp_file = (impresources.files(templates) / 'temp_file')

3.7 より前の Python バージョンの場合は、importlib_resources ライブラリのバックポート バージョンを使用できます。次のコマンドを使用してインストールします。

pip install importlib_resources

インストールすると、上記と同じ方法でバックポートされたモジュールを利用できます。

また、Python バージョン 3.6 以降の場合は、次のことができます。 setuptools パッケージの従来の pkg_resources モジュールを利用します:

resource_package = __name__
resource_path = '/'.join(('templates', 'temp_file'))
template = pkg_resources.resource_string(resource_package, resource_path)

方法に関係なく

  • リソース パスはファイル システム パスではないため、os.path.join() を使用して作成しないでください。
  • Python バージョン 3.11 では以上、resource_string 関数と resource_stream 関数は非推奨になりました。代わりに importlib.resources.read_text と importlib.resources.open_text を使用してください。

以上がPython パッケージ内の静的ファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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