OK nessuno altro nelle risposte lo ha menzionato, quindi credo che lo farò. Se stai scrivendo Python e hai il controllo dell'interprete, forse puoi forzare l'uso dell'interprete Jython.
Jython è un interprete Python implementato interamente in Java. Avete tutte le librerie standard Python a portata di mano, con l'ulteriore vantaggio di tutte le vostre librerie Java SE disponibili.
Non ho effettivamente eseguito nessuna delle seguenti operazioni (pensate più come psudeo-code senza gestione delle eccezioni), ma potete mescolare e abbinare le librerie Python e Java e il vostro codice potrebbe apparire come:
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')
in cui un file come questo sarà valido, che non sarebbe nelle semplici split on '='
soluzioni:
myPropName1:value
myPropName2=value
myPropName3=\
value
#this is a = comment
myPropName4:my \
value
myPropNameWithUnicode=\u0009
Il rovescio della medaglia, è che si perde la capacità di essere portabile tra i diversi interpreti Python e ora sei bloccato in Jython . Sarai rinchiuso in una biblioteca se tenterai anche tu questo approccio. Il motivo per cui mi piace Jython è la tua maggiore flessibilità con l'avere tutte le librerie Java SE disponibili.
http://docs.python.org/library/configparser.html? – delnan