Mercurial > hg > config
view python/is_interactive.py @ 807:26786fae0703
this relies on a requirement that is not part of my (2.7.12) stdlib; i almost deleted it. instead, i will keep for fun and note the requirement for further research
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 28 Oct 2016 17:09:04 -0700 |
parents | 7eaaf99e3182 |
children |
line wrap: on
line source
#!/usr/bin/env python """ illustrates usage of isatty Ref: http://www.tutorialspoint.com/python/file_isatty.htm """ import optparse import os import sys # DOES NOT WORK! :( # > echo 'foo' | is_interactive.py # Usage: is_interactive.py [options] # is_interactive.py: error: missing input def main(args=sys.argv[1:]): parser = optparse.OptionParser() options, args = parser.parse_args(args) function = str.upper if args: # take input from command line args input = ' '.join(args) elif not sys.stderr.isatty(): # take input from stdin input = sys.stdin.read() else: # no input! cry! parser.error("missing input") print function(input) if __name__ == '__main__': main()