def which(cmd, mode=os.F_OK | os.X_OK, path=None):
"""Given a command, mode, and a path string, return the path which
- conforms to the given mode on the path."""
+ conforms to the given mode on the PATH, or None if there is no such file.
+ `mode` defaults to os.F_OK | os.X_OK. `path` defaults to the result of
+ os.environ.get("PATH"), or can be overridden with a custom search path."""
# Check that a given file can be accessed with the correct mode.
# Additionally check that `file` is not a directory, as on Windows
# directories pass the os.access check.