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

标签 python windows installation-path

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

相关文章:

Android Python 缺少基本模块

python - 如何在Python/Django中检查字段的值是否已被删除

c++ - DeviceContext (HDC) 中的 Alpha channel

windows - Windows 锁定时向程序发送热键

java - 我的自定义 "paste from clipboard" Action

c++ - 使用 C++ 在 Windows 7 中获取已安装程序的完整路径

git - 如何卸载 git-for-windows 并在新位置重新安装?

python - 如何在 python/mongodb/elementTree 中将列表项转换为相应的字典

magento - 如何将子文件夹中的 Magento 安装路径定向到主域名

python - 在不加载文件的情况下将文本添加到行尾