[Python-es] Constantes en Python
Moises Brenes
moises.brenes en gmail.com
Lun Sep 20 20:39:28 CEST 2010
Que tal,
Sucede que queria ciertas variables se comportaran en modo solo-lectura,
Para ello implentaria lo que dice el Python Cookbook, creando una clase:
---const.py:
import sys
class _const:
class ConstError(TypeError):
pass
def __setattr__(self, name, value):
if self.__dict__.has_key(name):
raise self.ConstError, 'Can\'t rebind const (%s)' % name
self.__dict__[name] = value
def __delattr__(self, name):
if self.__dict__.has_key(name):
raise self.ConstError, 'Can\'t unbind const (%s)' % name
raise NameError, name
sys.modules[__name__] = _const()
y en otro fichero tendria las constantes:
---- constants.py
import const
const.MY_CONST = 5
-- app.py
from constants import const.MY_CONST
Luego queria utilizarlas, en una aplicacion, sin embargo me da el
siguiente error:
Encountered "." at line 8, column 42. Was expecting one of:
<NEWLINE> ... ";" ... "," ... "as" ... ";" ...
alguien podria sugerirme como trabajar con algo que se asemeje con
constantes, o como resolver este error?
Gracias
--
http://blog.mbrenes.com
El individuo ha luchado siempre para no ser absorbido por la tribu. Si
lo intentas, a menudo estarás solo, y a veces asustado. Pero ningún
precio es demasiado alto por el privilegio de ser uno mismo. -
Friedrich Nietzsche.
Más información sobre la lista de distribución Python-es