[Python-es] Constantes en Python
Angel Claudio Alvarez
angel en angel-alvarez.com.ar
Mar Sep 21 01:15:47 CEST 2010
El lun, 20-09-2010 a las 12:39 -0600, Moises Brenes escribió:
> 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
>
proba con comillas dobles: "Can't ...
> self.__dict__[name] = value
>
> def __delattr__(self, name):
> if self.__dict__.has_key(name):
> raise self.ConstError, 'Can\'t unbind const (%s)' % name
>
lo mismo
> 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
>
>
Más información sobre la lista de distribución Python-es