我有一个Python程序,需要以两个文本文件作为输入。我已经使用PyInstaller将这个Python程序(.py文件)转换成了.exe文件,但是运行.exe文件时出现了FileNotFoundError错误。当.txt文件复制到.exe所在的路径时,程序可以正常运行。我的意图是不复制.txt文件,而是将.txt文件与.exe文件捆绑在一起,使.txt文件无法访问。我想将所有的.txt文件依赖项与.exe文件捆绑在一起,最终只需要一个.exe文件,在运行它时,应该与运行Python程序时一样工作。请建议我如何实现这一点。
我对PyInstaller很陌生。我曾尝试在.spec文件的数据参数中添加.txt文件。但是,这种方法无法将文本文件复制到我的.exe文件所在的dist文件夹中。但是,正如我之前提到的那样,我只需要单独的.exe文件。即使将.exe文件共享给其他人,他们也没有任何文本文件的访问权限,.exe文件也必须能够成功运行。
如下面的代码被添加到.spec文件中: 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'), ] 因此,我认为当您运行:pyinstaller spec_filename.spec时,readme_text_files将被复制到.exe文件所在的文件夹中。
我对PyInstaller很陌生。我曾尝试在.spec文件的数据参数中添加.txt文件。但是,这种方法无法将文本文件复制到我的.exe文件所在的dist文件夹中。但是,正如我之前提到的那样,我只需要单独的.exe文件。即使将.exe文件共享给其他人,他们也没有任何文本文件的访问权限,.exe文件也必须能够成功运行。
如下面的代码被添加到.spec文件中: 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'), ] 因此,我认为当您运行:pyinstaller spec_filename.spec时,readme_text_files将被复制到.exe文件所在的文件夹中。