On Apr 1, 2013, at 8:31 PM, <ke...@kendy.org> <ke...@kendy.org> wrote:

> <snip>
> 
> print("But this doesn't iter through a b and c:")
> for k,v in parser.parse_args():
>    print('This arg is %s %s' % k, k[str(v)])
> $ 
> -------------------------------------------------------------------------
> 
> My error:
> $ h.py -a -b hi -c 42
> Namespace(a=True, b='hi', c=42)
> But this doesn't iter through a b and c:
> Traceback (most recent call last):
>  File "./h.py", line 16, in <module>
>    for k,v in parser.parse_args():
> TypeError: 'Namespace' object is not iterable
> $ 
> 
> How can I get parser to be iterable?

Jason, Mark and Dave have addressed this part of your question already.

> 
> After I get it to iter, I suppose that I'll be bitten by the boolean and 
> integer
> type conversions. I'm not sure how to handle that either. Will 'str()' save 
> me?

What do you mean here? You're thinking that you have to convert them to strings 
before passing them to the print function? Actually, the string formatting 
operator, the percent sign, combined with the 's' will convert for you, using 
the str() method. So, the code above is redundant. Just use:

print('This arg is %s %s' % k, v)

Take care,
Don

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to