如何将读取文本文件的 python 脚本转换为可运行的 exe
How do you convert a python script that reads a text file into a working exe
我创建了一个应用程序,它读取文本文件以获取数字(1 或 0)以执行某些代码(它 运行s 就像一个保存文件,因为我希望永久更改值,而不是就在脚本是 运行ning 时),但是当我使用 pyinstaller
将其转换为独立的 exe 文件时,我得到一个 Fatal Error
说它不能 运行 脚本。在我添加此功能之前的以前的编译工作有效,所以我知道这与读取该文本文件有关。
注意:我尝试使用 .py
文件而不是 .txt
。虽然它作为脚本工作,但编译后出现了同样的错误。
这是我在提升的命令提示符中输入的内容:
pyinstaller --onefile --add-data save.txt;.' file.py
您不能使用 pyinstaller
的 --onefile
方法中的 --add-data
编辑与您的应用程序捆绑在一起的数据文件,因为它会将所有文件解压缩到一个临时目录中已执行,因此无法在当前目录中找到应用程序所需的文件,因此您最终得到 Fatal Error
.
要解决这个问题,请参考this post,在您的代码中使用该函数并将您的相对路径发送到其中,以便在应用程序时获取文件的绝对路径是 运行。请记住,您所做的更改将在您关闭应用程序后丢失,因为这些文件被视为“数据文件”,它们不会被修改,因此二进制文件将在每次应用程序启动时创建初始文件的新副本.
如果您希望它永久存储在某个地方,您可以通过脚本本身实现文件创建(如果它不存在),方法是在 AppData
文件夹中创建一个目录并保存文件那里。
我创建了一个应用程序,它读取文本文件以获取数字(1 或 0)以执行某些代码(它 运行s 就像一个保存文件,因为我希望永久更改值,而不是就在脚本是 运行ning 时),但是当我使用 pyinstaller
将其转换为独立的 exe 文件时,我得到一个 Fatal Error
说它不能 运行 脚本。在我添加此功能之前的以前的编译工作有效,所以我知道这与读取该文本文件有关。
注意:我尝试使用 .py
文件而不是 .txt
。虽然它作为脚本工作,但编译后出现了同样的错误。
这是我在提升的命令提示符中输入的内容:
pyinstaller --onefile --add-data save.txt;.' file.py
您不能使用 pyinstaller
的 --onefile
方法中的 --add-data
编辑与您的应用程序捆绑在一起的数据文件,因为它会将所有文件解压缩到一个临时目录中已执行,因此无法在当前目录中找到应用程序所需的文件,因此您最终得到 Fatal Error
.
要解决这个问题,请参考this post,在您的代码中使用该函数并将您的相对路径发送到其中,以便在应用程序时获取文件的绝对路径是 运行。请记住,您所做的更改将在您关闭应用程序后丢失,因为这些文件被视为“数据文件”,它们不会被修改,因此二进制文件将在每次应用程序启动时创建初始文件的新副本.
如果您希望它永久存储在某个地方,您可以通过脚本本身实现文件创建(如果它不存在),方法是在 AppData
文件夹中创建一个目录并保存文件那里。