如何查找对象的数值属性?

时间:2013-12-20 21:07:03

标签: python

我想如果它是一个dict我知道如何处理这个问题,但是由于太多javascript ,我现在变得有点难以将哈希与对象分开。

此终端转储应该证明我有这个问题:

% python
Python 2.7.4 (default, Jul  3 2013, 17:42:47)
[GCC 4.2.1 Compatible Clang 3.4 (trunk 185360)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--256', '-256', action='store_true')
_StoreTrueAction(option_strings=['--256', '-256'], dest='256', nargs=0, const=True, default=False, type=None, choices=None,
 help=None, metavar=None)
>>> args = parser.parse_args()
>>> dir(args)
['256', '__class__', '__contains__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__h
ash__', '__init__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof_
_', '__str__', '__subclasshook__', '__weakref__', '_get_args', '_get_kwargs']
>>> args.256
  File "<stdin>", line 1
    args.256
           ^
SyntaxError: invalid syntax

基本上,argparse对我来说非常有用,直到我想开始指定一个标志-256来切换程序的256色终端支持(即,它是否发出256色ANSI代码或8色ANSI代码)

1 个答案:

答案 0 :(得分:4)

使用getattr()

getattr(args, '256')

但您可能希望通过设置dest目的地来避免此问题:

parser.add_argument('--256', '-256', action='store_true', dest='ff')