&引用;标准;创建适合Python和Java的配置文件的方法

&引用;标准;创建适合Python和Java的配置文件的方法,java,python,config,Java,Python,Config,我的应用程序100%是用纯Python开发的。我发现创建一个扩展名为.py的配置文件非常有用,而且很容易,而不是简单地在每个代码中加载它。大概是这样的: ENV = 'Dev' def get_settings(): return eval(ENV) class Dev(): ''' Development Settings ''' # AWS settings aws_key = 'xxxxxxxxxxxxx' aws_secret = 'xxxxx

我的应用程序100%是用纯Python开发的。我发现创建一个扩展名为
.py
的配置文件非常有用,而且很容易,而不是简单地在每个代码中加载它。大概是这样的:

ENV = 'Dev'
def get_settings():
    return eval(ENV)

class Dev():
    ''' Development Settings '''

    # AWS settings
    aws_key = 'xxxxxxxxxxxxx'
    aws_secret = 'xxxxxxxxxxxxxxxxx'

    # S3 settings
    s3_bucket = 'xxxxxxxxxx'
    ...
    ...
[Section]
my_option = 12.2
my_option2 = other_value

[Section2]
my_voption = my_value
在我的代码中,我只是导入这个文件并使用设置,这样我就有了一个易于管理的文件,其中包含了我需要的所有参数

然而,最近我不得不将部分代码转移到Java。现在,我正在与配置作斗争

问题:
创建配置的“标准”方法是什么,可以从两种语言轻松访问?(我的Java技能非常有限,如果你能给我一个简单的Java示例,那就太好了)

使用标准配置文件:例如XML或.properties

对于XML,可以在Java和Python中使用

对于.properties,Java通过类处理这个nativaly,Python可以通过类处理这个nativaly

此文件的语法如下所示:

ENV = 'Dev'
def get_settings():
    return eval(ENV)

class Dev():
    ''' Development Settings '''

    # AWS settings
    aws_key = 'xxxxxxxxxxxxx'
    aws_secret = 'xxxxxxxxxxxxxxxxx'

    # S3 settings
    s3_bucket = 'xxxxxxxxxx'
    ...
    ...
[Section]
my_option = 12.2
my_option2 = other_value

[Section2]
my_voption = my_value
你是这样读的:

import ConfigParser

config = ConfigParser.ConfigParser()
config.read('example.cfg')
config.getfloat('Section', 'my_option') # returns 12.2

它适用于几种类型,如果找不到类型,可以使用Python中的
eval
函数。找到Java的等价物应该不会太难。甚至使用Java解析这个文件也不难。

我建议使用XML或JSONU标准配置文件,如
XML
.properties
。两种语言都有库来解析它们。