diff options
author | Georg Brandl <georg@python.org> | 2009-10-11 12:00:18 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-10-11 12:00:18 (GMT) |
commit | ce662d0467c302d3a37d4cfb7d4626a48794f60e (patch) | |
tree | ac43655339f6911ba15b0ce0f651b658e2b2b750 /Demo/scripts | |
parent | 9bb796597d5f493a066e9b865bbbbae3b19dab4e (diff) | |
download | cpython-ce662d0467c302d3a37d4cfb7d4626a48794f60e.zip cpython-ce662d0467c302d3a37d4cfb7d4626a48794f60e.tar.gz cpython-ce662d0467c302d3a37d4cfb7d4626a48794f60e.tar.bz2 |
Use getopt in script.py demo.
Diffstat (limited to 'Demo/scripts')
-rwxr-xr-x | Demo/scripts/script.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/Demo/scripts/script.py b/Demo/scripts/script.py index 6eaa7ae..efcecc5 100755 --- a/Demo/scripts/script.py +++ b/Demo/scripts/script.py @@ -1,4 +1,5 @@ #! /usr/bin/env python + # script.py -- Make typescript of terminal session. # Usage: # -a Append to typescript. @@ -6,7 +7,7 @@ # Author: Steen Lumholt. -import os, time, sys +import os, time, sys, getopt import pty def read(fd): @@ -19,15 +20,23 @@ filename = 'typescript' mode = 'w' if os.environ.has_key('SHELL'): shell = os.environ['SHELL'] -if '-a' in sys.argv: - mode = 'a' -if '-p' in sys.argv: - shell = 'python' -file = open(filename, mode) +try: + opts, args = getopt.getopt(sys.argv[1:], 'ap') +except getopt.error, msg: + print '%s: %s' % (sys.argv[0], msg) + sys.exit(2) + +for o, a in opts: + if o == '-a': + mode = 'a' + elif o == '-p': + shell = 'python' + +script = open(filename, mode) sys.stdout.write('Script started, file is %s\n' % filename) -file.write('Script started on %s\n' % time.ctime(time.time())) +script.write('Script started on %s\n' % time.ctime(time.time())) pty.spawn(shell, read) -file.write('Script done on %s\n' % time.ctime(time.time())) +script.write('Script done on %s\n' % time.ctime(time.time())) sys.stdout.write('Script done, file is %s\n' % filename) |