Welcome, guest | Sign In | My Account | Store | Cart
#!/usr/bin/env python

# updated 2005.07.21, thanks to Jacob Oscarson
# updated 2006.03.30, thanks to Mark Eichin

import sys
import re
import getopt

# parse options for module imports
opts
, args = getopt.getopt(sys.argv[1:], 'm:')
opts
= dict(opts)
if '-m' in opts:
   
for imp in opts['-m'].split(','):
        locals
()[imp] = __import__(imp.strip())

cmd
= ' '.join(args)
if not cmd.strip():
    cmd
= 'line'                        # no-op
   
codeobj
= compile(cmd, 'command', 'eval')
write
= sys.stdout.write

for numz, line in enumerate(sys.stdin):
    line
= line[:-1]
    num
= numz + 1
    words
= [w for w in line.strip().split(' ') if len(w)]
    result
=  eval(codeobj, globals(), locals())
   
if result is None or result is False:
       
continue
   
elif isinstance(result, list) or isinstance(result, tuple):
        result
= ' '.join(map(str, result))
   
else:
        result
= str(result)
    write
(result)
   
if not result.endswith('\n'):
        write
('\n')

History

  • revision 3 (18 years ago)
  • previous revisions are not available