我想知道是否有可能在Windows7下找到一个应用程序的安装目录,比如MS Excel,使用标准的Python2.7库。我是说,它不应该使用任何pywin32或xlrd等。
也许它会在注册表中查找安装路径?
最佳答案
这可能相当棘手,但是一种方法是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.exe
因此,类似这样的东西(我在这台计算机上没有窗口,因此如果发现错误,欢迎编辑;),代码应该与Python2和3兼容:
try:
import winreg
except ImportError:
import _winreg as winreg
handle = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE,
r"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe")
num_values = winreg.QueryInfoKey(handle)[1]
for i in range(num_values):
print(winreg.EnumValue(handle, i))
在python 2上,模块名为
_winreg
,而在python 3上,模块名为winreg
。关于python - 有没有一种方法可以使用标准库查找应用程序的路径?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18044937/