import argparse
parser = argparse.ArgumentParser(description='sort given numbers')
parser.add_argument('-s', nargs = '+', type = int)
args = parser.parse_args()
print(args)
On command line when I run the command
python3 file_name.py -s 9 8 76
It prints
Namespace(s=[9, 8, 76])
.
How can I access the list [9, 8, 76]?
What is the namespace object. Where can I learn more about it?
It is the result object that argparse
returns; the items named are attributes:
print(args.s)
This is a very simple object, deliberately so. Your parsed arguments are attributes on this object (with the name determined by the long option, or if set, the dest
argument).
you can access as args.s
, NameSpace class is deliberately simple, just an object subclass with a readable string representation. If you prefer to have dict-like view of the attributes, you can use the standard Python idiom, vars(). Source