51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python 使用 pkgutil 访问包内资源

结论 {#结论}

pkgutilpython 的内置模块,可以用来打开包内文件。

使用的时候如下:

|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 | import pkgutil def foo(): data: bytes = pkgutil.get_data(__name__, 'file.txt') content: str = data.decode('utf-8') print(content) |

如果你的函数需要一个文件,比如 PIL 打开图片,你可以用 io.BytesIO 来模拟,如下:

|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 | import io import pkgutil from PIL import Image def bar(): fp = io.BytesIO(pkgutil.get_data(__name__, 'test.png')) img = Image.open(fp) |

配合 setup {#配合-setup}

如果说你想让这个包安装到 pip 里,那需要我们配置一下 setup.cfgsetup.py,可以参考这个链接:https://setuptools.pypa.io/en/latest/userguide/datafiles.html

就这样,拜拜。

赞(1)
未经允许不得转载:工具盒子 » Python 使用 pkgutil 访问包内资源