2013-08-04 3 views
1

Я хотел бы узнать, можно ли найти каталог установки приложения под Windows 7, например MS Excel, со стандартными библиотеками python 2.7. Я имею в виду, что он не должен использовать pywin32 или xlrd и т. Д.Есть ли способ найти путь приложения со стандартными библиотеками?

Возможно, он найдет реестр, чтобы найти путь установки?

+1

[_winreg] (http://docs.python.org /2/library/_winreg.html) с помощью 'HKEY _LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ ** \ Common \ InstallRoot' как ключ? – falsetru

ответ

3

Это может быть довольно сложно, однако один подход будет искать место запуска ехе в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.exe

Thusly что-то вроде этого (я не имею Окна на этом компьютере, так редактирует приветствуются, если найдены ошибки;), код должен быть 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, но winreg на Python 3.

+0

отлично! Откуда ты знаешь? – alwbtc

+1

googled для ключей реестра, а затем написал код на основе man-страниц –

Смежные вопросы