我使用 PyInstaller 打包一个单文件可执行文件。我被分配的任务是创建可以将 PyInstaller 可执行文件作为附件返回的 web 服务。
根据登录的用户,我需要在可执行文件中交换用户数据文件。我知道我可以通过在每个请求上重建可执行文件来做到这一点,但是由于每个用户的可执行文件将是相同的,只是上面提到的数据文件不同,而且由于构建占用了时间和处理能力,我想知道它是否是可以对 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
显然,这无济于事,因为使用存档打开可执行文件似乎总是只读操作。
最好的问候雅各布·西蒙-加德