Framester Framester - 7 months ago 44
Python Question

Argparse: Check if any arguments have been passed

My script should start a demo mode, when the no parameters are given. I tried this:

args = parser.parse_args()
if len(args) == 0:
# evaluate args

Which gives a
*** TypeError: object of type 'Namespace' has no len()
is no list.

How would I achieve what I want?


If your goal is to detect when no argument has been given to the command, then doing this via argparse is the wrong approach (as Ben has nicely pointed out).

Think simple! :-) I believe that argparse does not depopulate sys.argv. So, if not len(sys.argv) > 1, then no argument has been provided by the user.