想像您的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()
對於低於3.9的Python版本,請考慮使用setuptoolsp kg_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(導入lib.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中文網其他相關文章!