ホームページ >バックエンド開発 >Python チュートリアル >Python パッケージ内の静的ファイルにアクセスするにはどうすればよいですか?
Python パッケージに、Python パッケージ内からアクセスしたいテンプレート テキスト ファイルが含まれていると想像してください。プログラム。これらのファイルへのパスを指定する場合、パッケージ構造を処理する必要があります。
下位互換性が問題でない場合 (つまり、 Python 3.9 以降を使用している場合は、importlib.resources モジュールを利用します。
from importlib import resources as impresources from . import templates inp_file = impresources.files(templates) / 'temp_file' with inp_file.open("rt") as f: template = f.read()
を使用する Python バージョン 3.9 より前の場合は、setuptools の pkg_resources モジュールの使用を検討してください。
import pkg_resources # Could be a dot-separated package/module name or a "Requirement" resource_package = __name__ resource_path = '/'.join(('templates', 'temp_file')) # Do not use os.path.join() template = pkg_resources.resource_string(resource_package, resource_path) # or for a file-like stream: template = pkg_resources.resource_stream(resource_package, resource_path)
パッケージ階層内でテンプレートを見つけます:
<your-package> +--<module-asking-for-the-file> +--templates/ +--temp_file
いずれかを使用するテンプレート ファイルメソッド:
オプション 1 (importlib.resources):
from . import templates inp_file = impresources.files(templates) / 'temp_file'
オプション 2 (pkg_resources):
resource_path = '/'.join(('templates', 'temp_file')) template = pkg_resources.resource_string(__name__, resource_path)
以上がPython パッケージ内の静的ファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。