首页 > 后端开发 > Python教程 > 如何访问 PyInstaller --onefile 可执行文件中的外部文件?

如何访问 PyInstaller --onefile 可执行文件中的外部文件?

Patricia Arquette
发布: 2024-12-21 15:52:10
原创
1013 人浏览过

How Can I Access External Files in a PyInstaller --onefile Executable?

通过 --onefile 将外部文件与 PyInstaller 捆绑

尝试使用 PyInstaller 创建单文件可执行文件 (.exe) 时 -- onefile 选项,用户可能会遇到合并外部文件(例如图像或图标)的困难。虽然此选项生成了方便、可移植的应用程序,但它通常无法找到有助于应用程序功能的其他文件。

为了解决此问题,以前版本的 PyInstaller 依靠设置环境变量来指定附加文件。然而,PyInstaller 最近的更新改变了这种方法。当前在 --onefile 模式下访问外部文件的方法是通过 sys._MEIPASS 变量。

以下代码演示了如何使用更新的方法访问外部文件:

import sys

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)
登录后复制

通过使用外部文件的相对路径调用此函数,无论您是从开发环境运行应用程序还是从 PyInstaller 生成的应用程序,都可以获得其绝对路径可执行文件。

以上是如何访问 PyInstaller --onefile 可执行文件中的外部文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板