gpt4 book ai didi

python - Pyinstaller:当我使用 pyinstaller 创建 .exe 文件时,使用 python 中的内置函数打开的可执行文件将在 1 秒后关闭

转载 作者:太空宇宙 更新时间:2023-11-03 20:56:56 30 4
gpt4 key购买 nike

我用 python 编写程序来打开路径给出的一些可执行文件。我使用:

os.startfile(路径)

启动程序。当我在 IDLE 中运行 script.py 时,它工作正常,但是当我使用 pyinstaller 生成 .exe 文件时,当我运行它时,我想要打开的程序几乎立即开始打开和关闭。我尝试使用不同的函数,例如 subprocess.Popen(path) ,它执行相同的操作,1 秒后打开和关闭程序。有人能帮我吗? python 函数或 pyinstaller 甚至 Windows 10 是否有问题?

最佳答案

问题是您的代码很可能只是运行然后窗口关闭。

您可以在导入中添加导入时间time.sleep(x)或其他内容,以便在运行后使窗口保持打开x秒

在做任何事情之前先通读一遍!

好的,试试这个:

将其放入名为 start.py 的 python 文件中:

import os
import subprocess

#py_command - whatever opens python in cmd
#path - must be full path of file you want to call

def StartPythonScript(path, py_command):
command = 'start cmd /k ' + py_command + " " + path
subprocess.run(command, shell=True)

现在,从您从 exe 调用的文件中获取代码(假设其名称为 run.py),然后将其放入另一个文件(假设为 code.py)中。

确保 start.py 与 run.py 位于同一文件夹中

在 run.py 中,输入:

import start

cmd = "py" #change this to whatever opens python in cmd
path = "code.py" #change to the full path of code.py
start.StartPythonScript(path, cmd)

因此,当您单击 exe 时,它​​会打开 run.py,它告诉 start.py 打开包含您的程序的 code.py。

您实际上可以合并 start.py 和 run.py,但如果它们是单独的,则可以重用 start.py。

或者...

import os 添加到 exe 调用的程序中。将 os.system("pause") 添加到程序末尾。

我不确定这是否适用于无限运行的程序...但请先尝试这样做以节省时间。

更多信息:

How to stop Python closing immediately when executed in Microsoft Windows

祝你好运!

关于python - Pyinstaller:当我使用 pyinstaller 创建 .exe 文件时,使用 python 中的内置函数打开的可执行文件将在 1 秒后关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55958504/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com