標準の python 2.7 ライブラリを使用して、Windows 7 で MS Excel などのアプリケーションのインストール ディレクトリを見つけることができるかどうかを知りたいです。つまり、pywin32 や xlrd などを使用すべきではありません。
インストールパスを見つけるためにレジストリを検索するのでしょうか?
標準の python 2.7 ライブラリを使用して、Windows 7 で MS Excel などのアプリケーションのインストール ディレクトリを見つけることができるかどうかを知りたいです。つまり、pywin32 や xlrd などを使用すべきではありません。
インストールパスを見つけるためにレジストリを検索するのでしょうか?
非常にトリッキーかもしれませんが、1 つの方法は、ランチャーの exe の場所を検索することです。HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\foo.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
がwinreg
、Python 3 では.