使用 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
我有一个名为 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