diff options
author | Guido van Rossum <guido@python.org> | 1993-11-08 15:05:21 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-11-08 15:05:21 (GMT) |
commit | e65cce5eec23812d77a54095209c923937cc3c92 (patch) | |
tree | ed0b87870ad9c6278e43acf63685b8823cce018c /Lib/os.py | |
parent | db65a6ce556b1e311d03837fbf85ca52ef2c5d07 (diff) | |
download | cpython-e65cce5eec23812d77a54095209c923937cc3c92.zip cpython-e65cce5eec23812d77a54095209c923937cc3c92.tar.gz cpython-e65cce5eec23812d77a54095209c923937cc3c92.tar.bz2 |
* string.py: added rindex(), rfind(); changed index() to interpret
negative start indices starting from the right.
* ftplib.py: debug() -> set_debuglevel(); change demo to use __init__().
* os.py: added execl, execlp, and execvp.
* lambda.py: removed (now that we have built-in map, reduce, bagof, lambda)
* test_b{1,2}.py, testall.out: added tests for bagof, lambda, map, reduce
* commands.py: use os, not posix
* test_grammar.py: make it easy to disable non-portable int overflow tests
* dis.py: don't abuse range()
Diffstat (limited to 'Lib/os.py')
-rw-r--r-- | Lib/os.py | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -38,3 +38,33 @@ except ImportError: import macpath path = macpath del macpath + +def execl(file, *args): + execv(file, args) + +def execle(file, *args): + env = args[-1] + execve(file, args[:-1], env) + +def execlp(file, *args): + execvp(file, args) + +def execvp(file, args): + if '/' in file: + execv(file, args) + return + ENOENT = 2 + if environ.has_key('PATH'): + import string + PATH = string.splitfields(environ['PATH'], ':') + else: + PATH = ['', '/bin', '/usr/bin'] + exc, arg = (ENOENT, 'No such file or directory') + for dir in PATH: + fullname = path.join(dir, file) + try: + execv(fullname, args) + except error, (errno, msg): + if errno != ENOENT: + exc, arg = error, (errno, msg) + raise exc, arg |