What is a namespace object?
Question:
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?
Answers:
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).
- The documentation for
argparse.Namespace
can be found here.
- You can access the
s
attribute by doing args.s
.
- If you’d like to access this as a dictionary, you can do
vars(args)
, which means you can also do vars(args)['s']
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
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).
- The documentation for
argparse.Namespace
can be found here. - You can access the
s
attribute by doingargs.s
. - If you’d like to access this as a dictionary, you can do
vars(args)
, which means you can also dovars(args)['s']
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