配置文件的一点orm

ormconfig的Python项目详细描述


配置文件的一个小orm,执行到/从python对象的转换

示例

示例.ini:

[Section1]
bool_field = True
int_field = 123
#int_default_field = 567
float_field = 456.7
string_field = hello, world

[Section2]
ip_field = 127.0.0.1
ipport_field = 127.0.0.1:12345
ipport_list_field = 127.0.0.1:12345, 127.0.0.2:12346

    [Section3]
    choice_field = release

示例.py:

from ormconfig import *
import sys

class MyConfig(Config):
    class Section1(Section):
        bool_field = BoolField()
        int_field = IntField()
        int_default_field = IntField(default='default value 6')
        float_field = FloatField()
        string_field = StringField()
    class Section2(Section):
        ip_field = IPField()
        ipport_field = IPPortField()
        ipport_list_field = ListField(IPPortField())
    class Section3(Section):
                    choice_field = ChoiceField(StringField(), ['debug', 'release'], 'debug')

try:
    config = MyConfig.load('example.ini')
except Error as e:
    print('Failed to load file: %s' % str(e))
    sys.exit(1)

print(config.Section1.bool_field)
print(config.Section1.int_field)
print(config.Section1.int_default_field)
print(config.Section1.float_field)
print(config.Section1.string_field)
print(config.Section2.ip_field)
print(config.Section2.ipport_field)
print(config.Section2.ipport_list_field)
    print(config.Section3.choice_field)

输出:

True
123
default value 6
456.7
hello, world
127.0.0.1
('127.0.0.1', 12345)
[('127.0.0.1', 12345), ('127.0.0.2', 12346)]
    release

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java InputStream对象在声明后关闭   java未定义名为“transactionManager”的bean重命名transactionManager   java“jar”命令何时会拒绝将类添加到java中。jar文件?   java JPA标准依赖WHERE子句   安卓中从SD卡读取文本文件时出现java错误   java直接启用类似位置的权限   使用@WebMvcTest和Mockito-BDDMockito对SpringBoot-RestController进行java测试   java JSESSIONID存储在哪里?   java jtextarea鼠标事件覆盖容器鼠标事件   java DRL无法解析动态加载的类   java是从一个方法返回多个对象的最简单方法   java自定义按钮/编辑框是否不可见?   java GUI如何在保存用户输入的同时在面板或框架之间切换   swing Java自定义JSlider不会更新   GridBagLayout中的java超过1个JPanel   java从ProjectReactor中的flux中采样除第一个元素外的所有元素   Java泛型和泛型类型   Java代码生成宽指令的jvm