python arguments
#!/usr/bin/python
import sys, getopt
def main(argv):
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
except getopt.GetoptError:
print 'test.py -i <inputfile> -o <outputfile>'
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print 'test.py -i <inputfile> -o <outputfile>'
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
elif opt in ("-o", "--ofile"):
outputfile = arg
print 'Input file is "', inputfile
print 'Output file is "', outputfile
if __name__ == "__main__":
main(sys.argv[1:])
#*args and **kwargs are normally used as arguments when calling the function.
#*args returns as tuple and **kwargs returns as dictionary.
#*args and **kwargs let you write functions with variable number of arguments in python.
def func(required,*args,**kwargs):
return f"{required} {args} {kwargs}"
func("Nagendra",5,32,2,1,23,) #output == 'Nagendra (5, 32, 2, 1, 23) {}'
func("Nagendra",5,32,2,1,23,key1="55",key2="75") #output == "Nagendra (5, 32, 2, 1, 23) {'key1': '55', 'key2': '75'}"
#Very understable example of args.
#Given n number of arguments in a function calculate its average
def average(*args):
'''
As we already know *args means collection of values in a tuple.
INPUT: arguments are given. example average(4,10,)
OUTPUT: average of two numbers (4+10)/2 == 14
'''
return sum(args)/len(args)
average(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15) #output == 8.0
# Python program to demonstrate
# command line arguments
import getopt, sys
# Remove 1st argument from the
# list of command line arguments
argumentList = sys.argv[1:]
# Options
options = "hmo:"
# Long options
long_options = ["Help", "My_file", "Output ="]
try:
# Parsing argument
arguments, values = getopt.getopt(argumentList, options, long_options)
# checking each argument
for currentArgument, currentValue in arguments:
if currentArgument in ("-h", "--Help"):
print ("Diplaying Help")
elif currentArgument in ("-m", "--My_file"):
print ("Displaying file_name:", sys.argv[0])
elif currentArgument in ("-o", "--Output"):
print (("Enabling special output mode (% s)") % (currentValue))
except getopt.error as err:
# output error, and return with an error code
print (str(err))