将数据文件添加或替换为现有的PyInstaller exe(--onefile)

时间:2013-06-01 10:48:00

标签: python pyinstaller

我使用PyInstaller打包一个文件的可执行文件。我分配的任务是创建可以将PyInstaller可执行文件作为附件返回的webservice。

根据登录的用户,我需要在可执行文件中交换用户数据文件。我知道我可以通过在每个请求上重建可执行文件来做到这一点,但由于每个用户的可执行文件只是相同的,只是上面提到的数据文件不同,并且由于构建占用了时间和处理能力,我想知道它是否是可以对PyInstaller可执行文件进行后期编辑,然后添加或替换.exe文件中包含的用户数据文件。

换句话说,使用PyInstaller可执行文件作为最终用户可执行文件的模板。

编辑:这是我到目前为止所尝试过的:

>>> from PyInstaller.loader import carchive
>>> arc = carchive.CArchive(path_to_exe)
>>> arc.add(('README.rst','C:\\temp\\pyinstaller-2.0\\README.rst',1,'s'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "PyInstaller\loader\carchive.py", line 245, in add
    self.lib.write(s)
IOError: File not open for writing

显然,这无处可寻,因为使用carchive打开可执行文件通常是一个只读操作。

最诚挚的问候 雅各布西蒙 - 加尔德

0 个答案:

没有答案