1

我有一个 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 文件内置到可执行文件中?

谢谢你的帮助。

4

1 回答 1

2

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

resources.py如果您想保持代码干净,只需制作一个名为或类似的单独 Python 文件。然后从该文件中导入变量。

于 2013-05-02T09:18:11.123 回答