一个示例项目演示了在Python包中访问数据文件的各种方法

resources-example的Python项目详细描述


这个项目展示了如何在Python发行版中打包数据文件,并提供了一些读取数据文件的示例代码。要构建此发行版,请创建一个安装了setuptools、wheel和pep517的venv,然后将后者作为模块执行:

python -m pep517.build .

分布(一个sdist。焦油gz和一个bdist.whl)将被写入./dist/subdirectory。要测试它,请安装发行版并运行控制台脚本resources-example。在

下面是五种方法的兼容性摘要:

ModuleDescriptionIn stdlib?Works on Py2?Works on Py3?Works in zipfile?
example1.pyos.path.joinyesyesyesno
example2.pypkgutilyesyesyesyes
example3.pypkg_resourcesnoyesyesyes
example4.pyimportlib.resourcesyesnoyes (3.7+)yes
example5.pyimportlib_resourcesnoyesyesyes

如果您对从源代码创建可执行zip感兴趣,可以使用stdlibzipapp实用程序(python3.5+):

^{pr2}$

现在您可以使用解释器直接运行zip(任何Python版本):

python myapp.zip

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jframe为什么JAVA paint()方法不起作用?   java Guice:将ContainerRequestContext注入拦截器   java如何优雅地关闭Spring JMS MessageListenerAdapter   java如何在Spring中设置快照隔离级别   Java中的安卓平台独立信任存储路径   java无法在eclipse中运行hello world程序   java Sinch空指针问题   使用Java将JSON流式传输到BigQuery   java从“大数据”中选择什么Swing控件?   java通过对象字段过滤/排序集合?   java将数据从活动传递到另一个活动中的片段   java访问打包在jar文件中的文档   Java获取事件的大小。getDragboard()。getFiles()。流()。映射(文件::长度)。toString());   java Android libgdx:启动程序图标按下后,启动屏幕不会立即显示   java如何在Google App Engine灵活环境中配置oracle jdk   java有没有办法减少这些行?   Java:客户端socket不读取第二行,在终止符行之后保持打开状态   java以编程方式获取api 29上的所有APK文件   java ActionBar按钮不显示