gue*_*tli 3 python configuration introspection python-attrs
我想用Python来创建JSON.
既然我找不到可以帮助我的库,我想知道是否可以检查Python文件中类的顺序?
例
# example.py
class Foo:
pass
class Bar:
pass
Run Code Online (Sandbox Code Playgroud)
如果我导入example,我想知道类的顺序.在这种情况下,它是[Foo,Bar]而不是[Bar,Foo].
这可能吗?如果"是",怎么样?
我对yaml/json不满意.我有一个模糊的想法是通过Python类创建配置(只有类,而不是对象的实例化).
欢迎使用能够帮助我实现目标的答案(使用简单有趣的工具创建JSON).
inspect模块可以告诉类声明的行号:
import inspect
def get_classes(module):
for name, value in inspect.getmembers(module):
if inspect.isclass(value):
_, line = inspect.getsourcelines(value)
yield line, name
Run Code Online (Sandbox Code Playgroud)
所以下面的代码:
import example
for line, name in sorted(get_classes(example)):
print line, name
Run Code Online (Sandbox Code Playgroud)
打印:
2 Foo
5 Bar
Run Code Online (Sandbox Code Playgroud)