Python打开可执行文件,但它不';我不能自己关门 背景:代码::块是一个带有C++集成编译器的IDE。在创建C++项目时,它创建了.exe文件,以便运行项目。

Python打开可执行文件,但它不';我不能自己关门 背景:代码::块是一个带有C++集成编译器的IDE。在创建C++项目时,它创建了.exe文件,以便运行项目。,python,executable,Python,Executable,现在我想使用Python脚本(使用VSCode)运行该可执行文件。我尝试了subprocess.call()、subprocess.run()和subprocess.Popen(),它们都启动了后台进程,但它没有编译,所以它只是在任务管理器上继续运行。如果我手动运行它(双击它),它会打开、关闭,并在输出文件上得到正确答案 这是我的Python代码: process = subprocess.run([r'C:\Users\Documents\kino\kino.exe'], shell =

现在我想使用Python脚本(使用VSCode)运行该可执行文件。我尝试了subprocess.call()、subprocess.run()和subprocess.Popen(),它们都启动了后台进程,但它没有编译,所以它只是在任务管理器上继续运行。如果我手动运行它(双击它),它会打开、关闭,并在输出文件上得到正确答案

这是我的Python代码:

process = subprocess.run([r'C:\Users\Documents\kino\kino.exe'], shell = True)

如果您仍然不理解我的问题,请使用pywin32完成。 像这样的事情会解决你的问题

import win32com.client
 app = win32com.client.Dispatch("WScript.Shell")
 app.Run('Path/Yourexe.exe')

使用pywin32来完成它。 像这样的事情会解决你的问题

import win32com.client
 app = win32com.client.Dispatch("WScript.Shell")
 app.Run('Path/Yourexe.exe')

subprocess.run
不会捕获生成进程的输出,但是没有理由让它在后台继续运行。试试下面的例子,我刚刚在linux中检查了这个问题(使用了一个简单的“hello world”程序),所以如果它对您不起作用,那么可能是操作系统特定的问题

p = subprocess.Popen(['C:\Users\Documents\kino\kino.exe'], stdout=subprocess.PIPE)
#out, err = p.communicate()
print(p.stdout.read())

subprocess.run
不会捕获生成进程的输出,但是没有理由让它在后台继续运行。试试下面的例子,我刚刚在linux中检查了这个问题(使用了一个简单的“hello world”程序),所以如果它对您不起作用,那么可能是操作系统特定的问题

p = subprocess.Popen(['C:\Users\Documents\kino\kino.exe'], stdout=subprocess.PIPE)
#out, err = p.communicate()
print(p.stdout.read())

我解决问题的方法是使用./command运行可执行文件。所以,我做了一些类似的事情

process = subprocess.run('./kino.exe', shell = True)

我解决问题的方法是使用./command运行可执行文件。所以,我做了一些类似的事情

process = subprocess.run('./kino.exe', shell = True)

这使得可执行文件弹出,不在后台运行,但是它保持打开并运行,对输出文件没有结果。您可以添加app.quit()关闭它,看看它是否解决了问题。否则,共享代码以更好地理解它似乎也不起作用。记事本文件中的文本应替换为数字7。这会使可执行文件弹出,而不会在后台运行,但它保持打开并运行,对输出文件没有结果。您可以添加app.quit()以关闭它,并查看它是否解决了问题。否则,共享代码以更好地理解它似乎也不起作用。记事本文件中的文本应替换为数字7。这可能是特定于操作系统的问题。我使用windows,和以前一样,可执行文件只是在后台运行,必须手动关闭。这可能是操作系统特有的问题。我使用windows,和前面一样,可执行文件只在后台运行,必须手动关闭。