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 <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
--
https://mail.python.org/mailman/listinfo/python-list