Python Command Line Arguments
ian.stegner at gmail.com
ian.stegner at gmail.com
Wed Apr 12 23:00:34 EDT 2017
On Thursday, April 13, 2017 at 12:38:48 PM UTC+10, MRAB wrote:
> On 2017-04-13 02:59, ian.stegner at 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 <input file> -o <output file>')
> > 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.
More information about the Python-list
mailing list