Skip to main content
 首页 » 编程设计

python之从脚本中使用包文件

2025年05月04日13pander-it

如果我的 Python 包中有一个脚本,我怎样才能让它从包中读取其他文件,因为 __file__ 包含(例如)/usr/bin/myscript 而不是 /usr/lib/python3.3/site-packages/mypackage/myscript?

(文件只是模板,不是模块。)

请您参考如下方法:

任何基于路径名的方法都行不通,因为您的包或整个站点包可能是一个 zip 文件,或者这些文件可能已安装在包内以外的其他地方,等等。

pkgutil 模块,特别是 get_data函数,是获取作为包一部分的数据文件内容的标准库方法。

参见 Installing Package Data , 和 Installing Additional Files以获取有关确保文件实际上最终到达那里的更多信息。

如果您想使用 setuptools 而不仅仅是标准库,pkg_resources可以使事情变得更容易/更灵活。