检索 Python 包内的静态文件
问题:
如何检索打包的文件在 Python 包中,因为无法通过标准文件路径访问它方法?
包结构:
考虑一个包结构,其中模板存储在嵌套的“templates”文件夹中:
<package> |-- <module> |-- templates |-- temp_file
解决方案:
有几种方法可以检索文件:
1.使用 importlib.resources (Python 3.7 ):
from importlib import resources as impresources resource_package = __name__ resource_path = "templates/temp_file" try: inp_file = impresources.files(resource_package) / resource_path with inp_file.open("rb") as f: template = f.read() except AttributeError: # Python < 3.9 template = impresources.read_text(resource_package, resource_path)
2.使用 pkg_resources (setuptools):
import pkg_resources resource_package = __name__ resource_path = "/".join(("templates", "temp_file")) template = pkg_resources.resource_string(resource_package, resource_path)
详细信息:
以上是如何访问Python包中嵌入的静态文件?的详细内容。更多信息请关注PHP中文网其他相关文章!