是否有python函数让我检测计算机中是否安装了程序。我有一个运行.exe的程序,该部分适用于Windows,但要在linux中运行它需要葡萄酒,所以我需要一种方法让python函数检测葡萄酒。
答案 0 :(得分:1)
您可以使用函数os.get_exec_path()
来获取在PATH
环境变量中设置的目录列表。如果您要查找的可执行文件不存在于任何这些目录中,则认为未安装该程序是正确的。
代码剪切以确定是否安装了Wine,然后看起来像这样:
import os
winePath = None
for directory in os.get_exec_path():
testWinePath = os.path.join(directory, "wine")
if os.path.exists(testWinePath) and os.access(testWinePath, os.R_OK | os.X_OK):
winePath = executablePath
break
如果安装了Wine,则其可执行文件(wine
)的路径将位于winePath
变量中;如果找不到,则winePath
将为None
。
代码还检查文件是否具有正确的读取和执行的权限。
自Python 3.2起,os.get_exec_path()
可用。在旧版本中,您可以使用os.environ["PATH"].split(":")
代替。