
pkgutil 是 python 的内置模块,可以用来打开包内文件。
使用的时候如下:
import pkgutil
def foo():
data: bytes = pkgutil.get_data(__name__, 'file.txt')
content: str = data.decode('utf-8')
print(content)如果你的函数需要一个文件,比如 PIL 打开图片,你可以用 io.BytesIO 来模拟,如下:
import io
import pkgutil
from PIL import Image
def bar():
fp = io.BytesIO(pkgutil.get_data(__name__, 'test.png'))
img = Image.open(fp)如果说你想让这个包安装到 pip 里,那需要我们配置一下 setup.cfg 或 setup.py,可以参考这个链接:https://setuptools.pypa.io/en/latest/userguide/datafiles.html
就这样,拜拜。