如何在处理中启动exe文件?

问题描述 投票:0回答:1

我创建了一个名为 "排行榜 "的python文件,并使用pyinstaller将其制作成一个.exe文件。这个.exe文件在一个叫dist的文件夹里,这个文件夹在我的草图的data文件夹里。我首先尝试使用启动()函数来启动文件,虽然这没有给我任何错误,但它没有执行文件。

launch("data/dist/leaderboard.exe");

在下一次尝试中,我尝试使用exec函数。

exec("data/dist/leaderboard.exe");

这给了我错误代码。试图执行datadistleaderboard.exe时出现异常

接下来,我决定在使用启动功能时使用完整的文件路径。

launch("C:/Users/Tahseen/Documents/cs corsework 2/Bloodlust/data/dist/leaderboard.exe");

这导致反复弹出 "检测到致命错误 "的标题和 "无法执行脚本排行榜 "的标题。使用exec()也给我带来了这样的结果。

经过研究,我发现有一种解决方案对少数人有效,那就是使用双倍的\而不是单倍的\,然而这对我来说毫无作用。

我确认当从文件夹内手动打开文件时,文件可以正常执行,所以我认为问题出在我代码的某个地方。

更新:我认为在前两种情况下,文件leaderboard.exe无法定位,但我不知道为什么,因为当我在括号内输入一个随机字符串时,同样的事情发生了。这让我想到了第二个问题:是否有办法在项目文件夹内执行一个文件,即不需要整个文件路径?

processing
1个回答
0
投票

感谢 @George Profenza,我意识到问题在于 python 文件需要外部文本文件才能运行。虽然我不知道如何引用哪个目录来处理,但我想出了一个办法,即不使用文本文件在处理和python之间发送数据,而是使用客户端和服务器。我通过导入 processing.net 和 socket,在 processing 项目上创建了一个 server,在 python 文件上创建了一个 client。至于启动exe文件而无需手动输入完整的文件路径,我使用dataPath("")来返回数据文件夹的路径,然后在生成的字符串中添加 "distleaderboard.exe"。这样在导出应用程序时,程序应该还能用。

String path = dataPath("");
launch(path+"/dist/leaderboard.exe");
© www.soinside.com 2019 - 2024. All rights reserved.