#Jonathan Hudson #Student Number 12347890 #Date: 2021-05-03 #Lecture Practice import sys #Enable one of these to 'hack' the arguments #sys.argv = ["2_System_Args.py"] #sys.argv = ["2_System_Args.py", "-flag"] #sys.argv = ["2_System_Args.py", "input.txt"] #sys.argv = ["2_System_Args.py", "input.txt", "-flag"] def main(): print("Program start") input_filename, flag = checkArguments() print("Flag: %s" % flag) print("Input filename: %s" % input_filename) print("Program done") def checkArguments(): print("These are the %d arguments you entered." % len(sys.argv)) print(sys.argv) input_filename = None flag = False #No arguments, will handle getting filename from prompt later if len(sys.argv) == 1: pass #1 Argument get either flag or assume argument is filename elif len(sys.argv) == 2: if(sys.argv[1] == "-flag"): flag = True else: input_filename = sys.argv[1] #More than 2 arguments error and exit else: sys.stderr.write("Too many arguments!\n") sys.stderr.write("Usage: python 2_System_Args.py.py\n") sys.stderr.write("Usage: python 2_System_Args.py.py \n") sys.stderr.write("Usage: python 2_System_Args.py.py -flag\n") sys.exit(1) #Get filename if not in any argument if input_filename == None: input_filename = input("Enter input filename:") return input_filename, flag main()