如何使用源代码中package_data中的数据?

如何使用源代码中package_data中的数据?,第1张

如何使用源代码中package_data中的数据

标准pkgutil模块

get_data()
功能将计算相对于包的数据路径,并通过用于导入
hermes
包的Python模块加载器为您检索数据:

import pkgutildata = pkgutil.get_data('hermes', 'templates/python.tpl')

当然,在某些情况下,您可以使用从计算出的路径读取数据

hermes.__file__
,但是如果您打算分发项目,请考虑将其以不同的方式安装在最终用户的计算机上:作为纯文件,以压缩的鸡蛋形式部署档案等。在后一种情况下,您的
hermes
模块将由Python使用导入
zipimporter
,从而阻止您执行常规 *** 作
open(path).read()

>>> import hermes>>> hermes.__loader__<zipimporter object "/home/pat/.cascade/virt/foo/lib/python2.6/site-packages/foo-0.0.0-py2.6.egg">

如果可以在

distribute
代码库上添加运行时依赖关系,则可以考虑考虑
pkg_resourcesmodule
,虽然可以提供相同的结果,但还可以添加其他功能。

import pkg_resourcesdata = pkg_resources.resource_string('hermes', 'templates/python.tpl')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645231.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存