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?
- The documentation for
argparse.Namespacecan be found here. - You can access the
sattribute 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']
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
来源:https://stackoverflow.com/questions/20828277/what-is-a-namespace-object