如何使用 Python 检查应用程序是否安装在 Windows 中

Chr*_*one 4 python windows windows-installer

我正在尝试创建一个程序,用于在 Windows 上安装应用程序(如果尚未安装)。我知道可执行文件的文件名,但一无所知。我想查询操作系统以检查该操作系统上是否安装了已知名称或文件名的应用程序。

到目前为止我所拥有的只是以下内容:

def IsProgramInstalled(ProgramName):    
    """Check whether ProgramName is installed."""
Run Code Online (Sandbox Code Playgroud)

如果有人知道这个问题的答案,我将不胜感激,因为我在任何地方都找不到它。

Dan*_*iaz 5

您可以使用shutil检查程序是否安装:

import shutil

def is_program_installed(program_name):    
    """Check whether program_name is installed."""
    return shutil.which(program_name)
Run Code Online (Sandbox Code Playgroud)

如果程序已安装,该函数将返回程序的路径,如果程序未安装,该函数将返回None。

就我而言,如果我想知道是否git已安装,我会得到:

git = is_program_installed("git")
print(git)

# Returns: /usr/bin/git
Run Code Online (Sandbox Code Playgroud)

在 Windows 中,它应该返回类似以下内容: C:\Program Files\Git\bin\git.exe