有没有办法找到标准库的应用程序的路径?

时间:2013-08-04 16:13:57

标签: python windows installation-path

我想知道是否可以使用标准的python 2.7库在Windows 7下找到应用程序的安装目录,例如MS Excel。我的意思是,它不应该使用任何pywin32或xlrd等。

也许它会查找注册表以找到安装路径?

1 个答案:

答案 0 :(得分:3)

这可能非常棘手,但是一种方法是在HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.exe

中搜索启动器exe位置

这样的事情(我在这台计算机上没有Windows,所以如果发现错误,欢迎编辑;),代码应该是Python 2和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