Arxius de configuració XML
Quan desenvolupes una aplicació, de vegades necessites poder extraure certes variables del codi per tal que siguin més senzilles de modificar de cara a personalitzar l’aplicació per a un lloc concret, unes preferències de l’usuari determinades, etc.
Per fer aquesta feina sempre s’han fet servir arxius de configuració, cosa que fa una mandra increïble de programar cada cop o bé de recordar com anava la llibreria que vas crear fa…
Doncs això s’ha acabat, amb menys de 20 línies de codi python i fent servir arxius de configuració en format xml, solucionem aquest problema d’una vegada per totes.
Un arxiu de configuració d’exemple:
<conf>
<servei tipus="http">
<port>80</port>
<reintents>5</reintents>
</servei>
<servei tipus="ftp">
<port>21</port>
<reintents>3</reintents>
</servei>
<general>
<opcio1>valor</opcio1>
<opcio2>valor</opcio2>
</general>
</conf>
I el codi:
#!/usr/bin/env python
from xml.dom.ext.reader import PyExpat from xml.xpath import Evaluate
class Conf:
def __init__(self, conf_file = 'conf.xml'):
f = open(conf_file)
reader = PyExpat.Reader()
self.dom = reader.fromStream(f)
f.close()
def get(self, path):
result = Evaluate(path + '/text()', self.dom.documentElement)
try:
return result[0].nodeValue
except IndexError:
return None
if __name__ == '__main__':
conf = Conf()
print conf.get('servei[@tipus="http"]/port')
print conf.get('servei[@tipus="ftp"]/port')
print conf.get('general/opcio1')