我想知道是否有可能在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/

10-13 08:30