python - 如何使用 py2exe 将文本文件嵌入到单个可执行文件中

标签 python py2exe

我有一个 python 脚本,它读取一个存储为 .txt 文件的大字典文件。现在我想使用 py2exe 制作一个可执行文件。目前,我的设置如下所示:

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

Mydata_files = [('.', ['dict_lookup.txt'])]


setup(console=['BladeHost.pyw'],
  options = {
    "py2exe": {
        'bundle_files': 1, #with this == 1, I have the weird CreateActCtx error msg
        'compressed': True,
        "dll_excludes": ["MSVCP90.dll", "gdiplus.dll"],

        }
    },
  zipfile = None,
  data_files=Mydata_files,
  )

此设置为我提供了 dist 文件夹中的可执行文件和 dict_lookup.txt。但是,我不希望这个愚蠢的 .txt 文件位于可执行文件之外。我知道我将此文本文件复制并粘贴到 python 脚本内的长字符串中,但这将使我的 python 脚本变得丑陋。

所以我的问题是,有没有办法设置 py2exe 以便将此 .txt 文件内置到可执行文件中?

感谢您的帮助。

最佳答案

将其作为字符串放入 Python 文件中实际上是最常用的方式。如果您查看PyQt resource system例如,您将看到它们将任何资源(图像、声音等)作为巨大的字节字符串嵌入到一些 Python 文件中,之后您不应修改这些文件。

如果你想保持代码整洁,只需创建一个名为 resources.py 的单独 Python 文件或类似的文件即可。然后从该文件导入变量。

关于python - 如何使用 py2exe 将文本文件嵌入到单个可执行文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334297/

相关文章:

python - 仅针对一个模块使用 Mock 修补功能?

Python:类型错误: 'exp' 对象不可调用

python - python 中的类方法可以使用和不可以使用什么?

python - 使用后台线程定期刷新字段的值

python - 将python代码编译成单个exe

python - py2exe 无法识别 jsonschema

python - py2exe - 从文件夹中创建单个可执行文件

python - 如何通过 Python 使用 GeckoDriver 和 Selenium 启动使用默认 Firefox 到 68.9.0esr 的 Tor 浏览器 9.5

python - 如何将 python 代码转换为 Windows dll

python - 使用 py2exe 构建带有扩展的 python 程序