我想知道是否可以在 Windows 7 下找到具有标准 python 2.7 库的应用程序(例如 MS Excel)的安装目录。我的意思是,它不应该使用任何 pywin32 或 xlrd 等。
也许它会查找注册表来找到安装路径?
最佳答案
这可能相当棘手,但一种方法是在 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
,但是winreg
在 Python 3 上。
关于python - 有没有办法找到带有标准库的应用程序的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18044937/