import os | |
import sys | |
def which(thefile): | |
path = os.environ.get("PATH", os.defpath).split(os.pathsep) | |
for d in path: | |
fname = os.path.join(d, thefile) | |
fnames = [fname] | |
if sys.platform == 'win32': | |
exts = os.environ.get('PATHEXT', '').split(os.pathsep) | |
fnames += [fname + ext for ext in exts] | |
for name in fnames: | |
if os.access(name, os.F_OK | os.X_OK) and not os.path.isdir(name): | |
return name | |
return None |