我使用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打开可执行文件通常是一个只读操作。
最诚挚的问候 雅各布西蒙 - 加尔德