shutil.which()函数返回可执行命令 cmd 的路径。其格式如下:
shutil.which(cmd, mode=os.F_OK | os.X_OK, path=None)
shutil.which()函数扫描搜索路径 path 以查找 cmd 文件。典型的用例是在 shell 的环境变量 path中定义的搜索路径上查找 cmd 文件。如果未找到与搜索参数匹配的文件,则返回 None。 参数 mode 是传递给 os.access()的权限掩码,默认情况下确定文件是否存在且是可执行的。参数 path 默认为 os.environ(‘PATH’),但可以是包含由 os.pathsep 分隔目录名的任何字符串。
- os.F_OK:作为 os.access()的 mode 参数,测试 path 是否存在。
- os.R_OK:包含在 os.access()的 mode 参数中,测试 path 是否可读。
- os.W_OK:包含在 os.access()的 mode 参数中,测试 path 是否可写。
- os.X_OK:包含在 os.access()的 mode 参数中,测试 path 是否可执行。
例如:
import shutil
print(shutil.which('virtualenv'))
print(shutil.which('python'))
print(shutil.which('no-such-program'))
输出:
None
E:\Anaconda\python.EXE
None
|