Code: Select all
import os
def find_on_path(targets):
""" Search the PATH for a program and return full path """
if False:
paths = os.getenv('PATH').split(';')
else:
paths = os.getenv('PATH').split(':')
print targets
print paths
if isinstance(targets, basestring):
targets = ( targets, )
for path in paths:
for target in targets:
target_path = os.path.abspath(os.path.join(path, target))
if os.path.isfile(target_path) and os.access(target_path, os.X_OK):
return target_path
return None
print find_on_path('par2')
print find_on_path('nice')
print find_on_path('blabla')
Code: Select all
sander@R540:~/SABnzbd-0.7.0Beta8$ python path-testing.py
['/home/sander/bin', '/usr/lib/lightdm/lightdm', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/usr/games']
/usr/bin/par2
['/home/sander/bin', '/usr/lib/lightdm/lightdm', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/usr/games']
/usr/bin/nice
['/home/sander/bin', '/usr/lib/lightdm/lightdm', '/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin', '/sbin', '/bin', '/usr/games']
None
sander@R540:~/SABnzbd-0.7.0Beta8$

