Python Command Line Arguments

2017-04-12 Thread ian . stegner
I have this code which I got from 
https://www.tutorialspoint.com/python/python_command_line_arguments.htm The 
example works fine but when I modify it to what I need, it only half works. The 
problem is the try/except. If you don't specify an input/output, they are blank 
at the end but it shouldn't be.


import getopt
import sys

def main(argv):
   inputfile = ''
   outputfile = ''
   try:
  opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
   except getopt.GetoptError:
  inputfile = 'Input'
  outputfile = 'Output'
   if inputfile == '':
  for opt, arg in opts:
 if opt == '-h':
print ('Usage: Encrypt.py -i  -o ')
sys.exit()
 elif opt in ("-i", "--ifile"):
inputfile = arg
 elif opt in ("-o", "--ofile"):
outputfile = arg
   else:
  ''

   print 'In: ' + inputfile
   print 'Out: ' + outputfile

if __name__ == "__main__":
   main(sys.argv[1:])
-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python Command Line Arguments

2017-04-12 Thread ian . stegner
On Thursday, April 13, 2017 at 12:38:48 PM UTC+10, MRAB wrote:
> On 2017-04-13 02:59, ian.steg...@gmail.com wrote:
> > I have this code which I got from 
> > https://www.tutorialspoint.com/python/python_command_line_arguments.htm The 
> > example works fine but when I modify it to what I need, it only half works. 
> > The problem is the try/except. If you don't specify an input/output, they 
> > are blank at the end but it shouldn't be.
> > 
> > 
> > import getopt
> > import sys
> > 
> > def main(argv):
> > inputfile = ''
> > outputfile = ''
> > try:
> >opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
> > except getopt.GetoptError:
> >inputfile = 'Input'
> >outputfile = 'Output'
> > if inputfile == '':
> >for opt, arg in opts:
> >   if opt == '-h':
> >  print ('Usage: Encrypt.py -i  -o ')
> >  sys.exit()
> >   elif opt in ("-i", "--ifile"):
> >  inputfile = arg
> >   elif opt in ("-o", "--ofile"):
> >  outputfile = arg
> > else:
> >''
> > 
> > print 'In: ' + inputfile
> > print 'Out: ' + outputfile
> > 
> > if __name__ == "__main__":
> > main(sys.argv[1:])
> > 
> You'll get the GetoptError exception if an option that requires an 
> argument doesn't have one. That's not the same as omitting the option 
> entirely.
> 
> For example:
> 
>  # No -i option.
>  foo
> 
>  # Option -i present but without its required argument.
>  foo -i

WOW. Thanks for that.
-- 
https://mail.python.org/mailman/listinfo/python-list