OK nadie más en las respuestas lo ha mencionado, así que supongo que voy a hacerlo. Si está escribiendo Python y tiene control sobre su intérprete, quizás pueda forzar el uso del intérprete Jython.
Jython es un intérprete de Python implementado completamente en Java. Tiene todas las bibliotecas estándar de Python a su alcance, con la ventaja adicional de todas sus bibliotecas Java SE disponibles.
No he ejecutado ninguno de los siguientes (piénselo más como psudeo-code sin manejo de excepciones), pero puede mezclar y combinar bibliotecas de Python y Java, y su código podría terminar pareciéndose a:
from java.util import Properties
from java.io import File, FileInputStream
import os
javasPropertyObject = Properties()
pathToPropFile = os.path.join('path', 'to', 'property', 'file.properties')
if os.path.isfile(pathToPropFile):
#this is java.io.File, not Python's file descriptor
propFile = File(pathToPropFile)
javasFileInputStreamObject = FileInputStream(propFile)
javasPropertyObject.load(javasFileInputStreamObject)
#now we can pull out Java properties as defined by the .property file grammar
myProp = javasPropertyObject.getProperty('myPropName')
que un archivo como esto será válido, que no lo haría en las simples soluciones split on '='
:
myPropName1:value
myPropName2=value
myPropName3=\
value
#this is a = comment
myPropName4:my \
value
myPropNameWithUnicode=\u0009
La desventaja, es que se pierde su capacidad para ser portátiles entre variando intérpretes de Python y ahora estás encerrado en Jython . Sería bloqueado en una biblioteca si intentas ese enfoque también. El motivo por el que me gusta Jython es su flexibilidad adicional al tener todas las bibliotecas Java SE disponibles.
http://docs.python.org/library/configparser.html? – delnan