如何从reStructuredText获取属性类型?

时间:2017-06-06 15:10:39

标签: python restructuredtext

如何从reStructuredText获取属性类型? 我有类似的东西。

@property
def port(self):
    """Get port.

    :return: port
    :rtype: str
    """
    return self._port

我如何获得属性类型(str)?

1 个答案:

答案 0 :(得分:1)

代码碎片是你的吗?如果是,您可以使用您喜欢的任何机制,例如直接向函数添加属性以供以后检查:SomeClass.port.fget.return_type = int。尝试一下,它有效。只需要小心通过类限定属性,而不是通过实例(或在实例上使用.__class__)。

如果没有,请parse port.__doc__并提取相关字段。

如果您受CPU限制,您仍然可以使用例如没有ORM层的SQLAlchemy。它可以提前从表格模型生成非常高效的SQL,,例如在启动期间。然后你只需用正确的参数调用它们,花费相当少的CPU时间。在大多数情况下,DB往返使得查询创建和结果解码相形见绌。

同样适用于解析RST:您可以提前完成,例如:作为构建步骤,并将信息存储在易于解析的文件中,例如, JSON甚至是腌制的Python数据,并快速加载为启动。