使用 python 执行程序

execute a program using python

我有一个名为 MicroSIP 的程序。当我双击它时,它会打开并根据 .ini 文件注册到远程服务器。到目前为止一切都很好。 我有一个 python 脚本,我想在其中再次关闭 MicroSIP.exe 和 运行 的进程。我可以这样做,但是由于某种原因,当它再次打开时,它就像双击时那样没有使用.ini 文件。

有谁知道为什么会这样?

这是我关闭进程并再次 运行 的代码:

os.system("TASKKILL /F /IM MicroSIP.exe")
os.system('"C:\Users\Tamir\Downloads\MicroSIP-Lite-3.10.5\MicroSIP.exe"')

其实是工作目录的问题。在您的 Python 脚本中,确保将包含 exe 的目录设为主目录,然后执行 exe。

您可以这样检查您的脚本工作目录:

import os
print os.getcwd()

确保它在与您的 .exe 应用程序不同的目录中工作

一个非常简单的解决方法是使用绝对路径:

os.system("TASKKILL /F /IM MicroSIP.exe")
os.chdir('"C:\Users\Tamir\Downloads\MicroSIP-Lite-3.10.5\"')    
os.system('"C:\Users\Tamir\Downloads\MicroSIP-Lite-3.10.5\MicroSIP.exe"')

为了更好地理解我建议你阅读this question