如何在python中以列表的形式获取类的所有属性

车站

我在Python中有以下课程。

class RULES(object):
    TOTAL_REQUESTS = 'totalrequests'
    HTML_SIZE = 'htmlsize'
    JS_SIZE = 'jssize'
    JS_COUNT = 'jscount'
    DOMAIN_COUNT = 'domaincount'
    REQ_PER_DOMAIN = 'reqperdomain'
    DOMAIN_WITH_MAX_REQUESTS = 'domainwithmaxrequests'
    IMAGE_SIZE = 'imagesize'
    IMAGE_COUNT = 'imagecount'
    HIGHEST_LATENCY_OBJECT = 'highestlatencyobject'
    LARGEST_SIZE_OBJECT = 'largestsizeobject'
    VARY_HEADER_OBJECTS = 'varyheaderobjects'
    ERROR_RESPONSES = 'errorresponses'
    COOKIE_REQUESTS = 'cookierequests'
    TTFB_REQUESTS = 'ttfb_requests'
    UNCACHED = 'uncached'
    UNCOMPRESSED = 'uncompressed'
    SPRITABLE = 'spritable'
    MULTIPLE_REQUESTS = 'multiplerequests'
    INLINABLE = 'inlinable'
    NO_SERVER_CACHE = 'noservercache'
    MORE_TTL = 'morettl'
    MEDIAN_LOAD_TIME = 'median_load_time'
    AVG_LOAD_TIME = 'avgloadtime'
    DNS = 'dns'
    HOST_TTL = 'host_ttl'
    ORIGIN_TTL = 'origin_ttl'
    THIRD_PARTY_HTTPS_REQ = 'thirdpartyhttpsreq'

现在,我需要编写一种方法来遍历所有属性并将它们作为列表返回。我尝试访问单个属性为

RULES.HOST_TTL,但请确定如何遍历它们。python中有没有一种方法可以做到这一点。

米吉尔森

使用该dir功能。它可能会为您提供比您想要的更多的东西,但是您可以对其进行过滤(例如,仅输入ALL_CAPS个单词)。

样本:

>>> class RULES(object):
...     TOTAL_REQUESTS = 'totalrequests'
...     HTML_SIZE = 'htmlsize'
...     JS_SIZE = 'jssize'
...     JS_COUNT = 'jscount'
...     DOMAIN_COUNT = 'domaincount'
...     REQ_PER_DOMAIN = 'reqperdomain'
...     DOMAIN_WITH_MAX_REQUESTS = 'domainwithmaxrequests'
...     IMAGE_SIZE = 'imagesize'
...
>>> import re
>>> all_caps = re.compile('^[A-Z_]+$')
>>> [attr for attr in dir(RULES) if all_caps.match(attr)]
['DOMAIN_COUNT', 'DOMAIN_WITH_MAX_REQUESTS', 'HTML_SIZE', 'IMAGE_SIZE', 'JS_COUNT', 'JS_SIZE', 'REQ_PER_DOMAIN', 'TOTAL_REQUESTS']

一旦有了名称,就很容易获得价值:

[getattr(RULES, attr) for attr in dir(fules) if all_caps.match(attr)]

最后,如果您愿意使用其他类型,则可以在此处使用枚举enum直到python3.4才被添加到标准库中,但是python2.x有反向移植我相信您的要求将如下所示:

class RULES(enum.Enum):
    X = 'foo'
    Y = 'bar'
    # ...

 for name, attr in RULES.__members__.items():
     print(name, attr.value)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python中获取子列表的所有第一项

来自分类Dev

如何在python中删除列表的所有成员

来自分类Dev

如何在Dart中获取类的所有子类?

来自分类Dev

如何从给定包中获取所有类的列表

来自分类Dev

如何获取所有Wikidata属性的列表?

来自分类Dev

如何在ruby类中获取所有实例变量?

来自分类Dev

在python的类中获取所有常量

来自分类Dev

如何在Python中为类的属性设置列表值

来自分类Dev

如何在Swift中获取所有静态属性?

来自分类Dev

如何在Python中获取类的类方法的所有名称

来自分类Dev

如何从满足Python条件的列表中获取所有对

来自分类Dev

如何在javascript中获取文件对象的所有属性?

来自分类Dev

如何在所有输入都在一行中的python中的列表中获取输入?

来自分类Dev

使用C#中的Selenium获取具有特定类的所有元素的属性值的列表

来自分类Dev

如何在python中删除所有unicode表示形式

来自分类Dev

如何在同一个基类的方法中获取所有属性?

来自分类Dev

如何在ios中获取所有UTC缩写的列表?

来自分类Dev

如何仅在类中获取所有属性名称

来自分类Dev

如何在ActionFilter中获取参数的所有属性?

来自分类Dev

如何在Swift中获取所有静态属性?

来自分类Dev

如何在通用Lisp中获取类的所有实例?

来自分类Dev

如何在 Prestashop 中获取所有附件列表

来自分类Dev

如何获取属于 Python 3 中特定类的所有属性(继承的除外)的值

来自分类Dev

如何在 ES6 javascript 类中的泛型方法中获取所有 getter setter 属性的列表或数组?

来自分类Dev

如何提取/获取本体中的所有术语(类/属性)

来自分类Dev

如何从多个类中获取所有相同的属性?

来自分类Dev

从类中获取所有静态属性

来自分类Dev

如何在 svg 类中获取属性

来自分类Dev

如何从python类中的实例变量中获取所有值的列表

Related 相关文章

  1. 1

    如何在python中获取子列表的所有第一项

  2. 2

    如何在python中删除列表的所有成员

  3. 3

    如何在Dart中获取类的所有子类?

  4. 4

    如何从给定包中获取所有类的列表

  5. 5

    如何获取所有Wikidata属性的列表?

  6. 6

    如何在ruby类中获取所有实例变量?

  7. 7

    在python的类中获取所有常量

  8. 8

    如何在Python中为类的属性设置列表值

  9. 9

    如何在Swift中获取所有静态属性?

  10. 10

    如何在Python中获取类的类方法的所有名称

  11. 11

    如何从满足Python条件的列表中获取所有对

  12. 12

    如何在javascript中获取文件对象的所有属性?

  13. 13

    如何在所有输入都在一行中的python中的列表中获取输入?

  14. 14

    使用C#中的Selenium获取具有特定类的所有元素的属性值的列表

  15. 15

    如何在python中删除所有unicode表示形式

  16. 16

    如何在同一个基类的方法中获取所有属性?

  17. 17

    如何在ios中获取所有UTC缩写的列表?

  18. 18

    如何仅在类中获取所有属性名称

  19. 19

    如何在ActionFilter中获取参数的所有属性?

  20. 20

    如何在Swift中获取所有静态属性?

  21. 21

    如何在通用Lisp中获取类的所有实例?

  22. 22

    如何在 Prestashop 中获取所有附件列表

  23. 23

    如何获取属于 Python 3 中特定类的所有属性(继承的除外)的值

  24. 24

    如何在 ES6 javascript 类中的泛型方法中获取所有 getter setter 属性的列表或数组?

  25. 25

    如何提取/获取本体中的所有术语(类/属性)

  26. 26

    如何从多个类中获取所有相同的属性?

  27. 27

    从类中获取所有静态属性

  28. 28

    如何在 svg 类中获取属性

  29. 29

    如何从python类中的实例变量中获取所有值的列表

热门标签

归档