我有一个 python 程序,它接受两个文本文件作为输入。我已经使用 pyinstaller 将此 python 程序(一个 .py 文件)转换为一个 .exe 文件。运行时的 .exe 文件给出 FileNotFoundError。但是,当 .txt 文件被复制到 .exe 所在的路径时,它可以正常工作。我的意图是不复制 .txt 文件,而是将 .txt 文件与 .exe 捆绑在一起,以使 .txt 文件无法访问。我想将所有 .txt 文件依赖项与 .exe 捆绑在一起,最终应该只有一个 .exe 文件,当我运行它时,它的工作方式应该与我运行 python 程序时相同。请建议我实现相同目标的方法
我是 pyinstaller 的新手。我曾尝试将 .txt 文件添加到 .spec 文件中的数据参数。但这无法将文本文件复制到我的 .exe 所在的 dist 文件夹中。但正如我所提到的,我只需要 .exe 文件。即使 .exe 文件共享给无权访问任何文本文件的其他人,该 .exe 也必须成功运行
a.datas+=[('D:/Trial/src/readme_text_files/readme1.txt','readme_text_files/readme1.txt','readme_text_files'), ('D:/Trial/src/readme_text_files/readme2.txt', 'readme_text_files/readme2.txt','readme_text_files'), ]
上面的代码已添加到 .spec 文件中,因此我假设 readme_text_files 必须复制到运行时存在 .exe 的文件夹中:pyinstaller spec_filename.spec