如何在处理中启动 exe 文件?
How do I launch an exe file in processing?
我创建了一个名为 leaderboard 的 python 文件,并使用 pyinstaller 将它变成了一个 .exe 文件。这个 .exe 文件位于名为 dist 的文件夹中,该文件夹位于我的草图的数据文件夹中。我首先尝试使用 launch() 函数启动文件,虽然这没有给我任何错误,但它没有执行文件。
launch("data/dist/leaderboard.exe");
在我的下一次尝试中,我尝试改用 exec 函数。
exec("data/dist/leaderboard.exe");
这给了我错误代码:尝试 data/dist/leaderboard.exe
时出现异常
接下来,我决定在使用启动功能时使用完整的文件路径。
launch("C:/Users/Tahseen/Documents/cs corsework 2/Bloodlust/data/dist/leaderboard.exe");
这导致标题 "fatal error detected" 和标题 "unable to execute script leaderboard" 重复弹出。使用 exec() 也给了我这个结果。
经过研究,我发现一种适用于少数人的解决方案是使用双 \ 而不是单 / 但这对我没有任何作用。
我确认文件在从文件夹中手动打开时可以正确执行,所以我认为问题出在我的代码中。
更新:我认为在前两种情况下无法找到文件 leaderboard.exe 但是我不知道为什么当我将随机字符串放在括号内时发生了同样的事情。这让我想到了第二个问题:有没有办法从项目文件夹中执行文件,即没有整个文件路径?
感谢@George Profenza,我意识到问题是 python 文件需要外部文本文件到 运行。虽然我想不出一种方法来引用哪个目录用于进程,但我发现我可以使用客户端和服务器,而不是使用文本文件在处理和 python 之间发送数据。我通过导入 processing.net 和套接字在处理项目上创建了一个服务器,在 python 文件上创建了一个客户端。至于在不手动输入完整文件路径的情况下启动 exe 文件,我使用 dataPath("") 到 return 数据文件夹的路径,然后将 "/dist/leaderboard.exe" 添加到结果字符串中。这样在导出应用程序时程序应该仍然有效。
String path = dataPath("");
launch(path+"/dist/leaderboard.exe");
我创建了一个名为 leaderboard 的 python 文件,并使用 pyinstaller 将它变成了一个 .exe 文件。这个 .exe 文件位于名为 dist 的文件夹中,该文件夹位于我的草图的数据文件夹中。我首先尝试使用 launch() 函数启动文件,虽然这没有给我任何错误,但它没有执行文件。
launch("data/dist/leaderboard.exe");
在我的下一次尝试中,我尝试改用 exec 函数。
exec("data/dist/leaderboard.exe");
这给了我错误代码:尝试 data/dist/leaderboard.exe
时出现异常接下来,我决定在使用启动功能时使用完整的文件路径。
launch("C:/Users/Tahseen/Documents/cs corsework 2/Bloodlust/data/dist/leaderboard.exe");
这导致标题 "fatal error detected" 和标题 "unable to execute script leaderboard" 重复弹出。使用 exec() 也给了我这个结果。
经过研究,我发现一种适用于少数人的解决方案是使用双 \ 而不是单 / 但这对我没有任何作用。
我确认文件在从文件夹中手动打开时可以正确执行,所以我认为问题出在我的代码中。
更新:我认为在前两种情况下无法找到文件 leaderboard.exe 但是我不知道为什么当我将随机字符串放在括号内时发生了同样的事情。这让我想到了第二个问题:有没有办法从项目文件夹中执行文件,即没有整个文件路径?
感谢@George Profenza,我意识到问题是 python 文件需要外部文本文件到 运行。虽然我想不出一种方法来引用哪个目录用于进程,但我发现我可以使用客户端和服务器,而不是使用文本文件在处理和 python 之间发送数据。我通过导入 processing.net 和套接字在处理项目上创建了一个服务器,在 python 文件上创建了一个客户端。至于在不手动输入完整文件路径的情况下启动 exe 文件,我使用 dataPath("") 到 return 数据文件夹的路径,然后将 "/dist/leaderboard.exe" 添加到结果字符串中。这样在导出应用程序时程序应该仍然有效。
String path = dataPath("");
launch(path+"/dist/leaderboard.exe");