python - 使用 Python 创建 JSON

标签 python configuration introspection python-attrs

我想使用 Python 来创建 JSON。

由于我找不到可以帮助我的库,我想知道是否可以检查 Python 文件中类的顺序?

例子

# example.py
class Foo:
    pass

class Bar:
    pass

如果我导入example,我想知道类的顺序。在这种情况下,它是 [Foo, Bar] 而不是 [Bar, Foo]。

这可能吗?如果"is",如何?

背景

我对 yaml/json 不满意。我有一个模糊的想法,即通过 Python 类(仅类,而不是对象的实例化)创建配置。

欢迎提供有助于我实现目标(使用简单有趣的工具创建 JSON)的答案。

最佳答案

检查模块可以告诉类声明的行号:

import inspect

def get_classes(module):
    for name, value in inspect.getmembers(module):
        if inspect.isclass(value):
            _, line = inspect.getsourcelines(value)
            yield line, name

所以下面的代码:

import example

for line, name in sorted(get_classes(example)):
    print line, name

打印:

2 Foo
5 Bar

关于python - 使用 Python 创建 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40906882/

相关文章:

python - 查找Python列表中的所有矩形

mysql - MySQL 和 Workbench 中的不同配置

oop - 在 TCL 中列出命名空间中任何类的所有实例

python - 函数如何稳定地引用自身?

java - 如何让 Byte Buddy 将多种类型加载到同一个包装类加载器中

python - 如何从结构化 numpy 数组中删除列*而不复制它*?

python - 使用 Python 2.7 使用十六进制符号对字符串中的特定字符进行编码/解码

将 CSS 合并为 HTML 的 Python 代码

configuration - 如何从起始页的“最近的项目”列表中删除项目?

java - Web 应用程序中的 Log4j2 配置