Forma “estándar” de crear un archivo de configuración adecuado para Python y Java juntos

Mi aplicación fue 100% desarrollada en Python puro. Me pareció muy útil y fácil crear un archivo de configuración con la extensión .py y simplemente cargarlo en cada código. Algo como esto:

 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' ... ... 

Y que en mi código acabo de importar este archivo y usar las configuraciones, de esta manera tengo un archivo que es fácil de administrar y que contiene todos los parámetros que necesito.

Sin embargo, recientemente tuve que mover parte de mi código a Java. Y ahora estoy luchando con las configuraciones.

Pregunta:

¿Cuál es la manera “estándar” de crear una configuración que sea fácilmente accesible desde ambos idiomas? (Mis habilidades de Java son muy limitadas, si me pueden dar un breve ejemplo de Java, sería genial)

Echa un vistazo a ConfigParser en Python

La syntax de este archivo se ve así:

 [Section] my_option = 12.2 my_option2 = other_value [Section2] my_voption = my_value 

Lo lees de esta manera:

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

Funciona para un par de tipos y si no puede encontrar un tipo, puede usar la función eval en Python. Encontrar un equivalente a Java no debería ser demasiado difícil. O incluso analizar este archivo utilizando Java no debería ser demasiado difícil.

Utilice archivos de configuración estándar: XML o .properties por ejemplo.

Para XML, puede usar JDOM en Java, minidom en Python.

Para .properties, Java maneja este nativaly a través de las propiedades de clase y Python puede manejarlo a través de ConfigParser