我有一个名为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"')
答案 0 :(得分:4)
实际上是工作目录问题。在Python脚本中,确保包含exe的目录成为主目录,然后执行exe。
答案 1 :(得分:2)
您可以通过以下方式检查脚本工作目录:
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