Articles of enums

Usando un IntEnum como el tipo en un ctypes.Structure._fields_

Me gustaría hacer uno de los campos de mis ctypes.Structure an enum. Esta publicación sugiere agregar un from_param from_param a la clase enum, pero afirma que esto no es suficiente para un ctypes.Structure personalizado. También he intentado heredar de enum.IntEnum y ctypes.c_uint pero eso resulta en un conflicto de metaclase. Aquí es aproximadamente lo que […]

ImportError: no hay un módulo llamado enum en python 2.7

Estoy ejecutando un código con Python 2.7. Y me sale “ImportError: No hay módulo llamado enum”. Instalé la enumeración con “pip install enum” pero el error sigue apareciendo. ¿¿Qué debo hacer??

Boost Python 1.48 falla al exportar enumeración de 32 bits

¿Las versiones más recientes de Boost Python son compatibles con la exportación de enumeraciones de 32 bits completas desde C ++? Estoy usando 1.48 y puedo exportar hasta 30 bits, pero falla cada vez que se debe a “Ubicación de lectura de infracción de acceso 0x00000001” cuando bash exportar un número de 32 bits. Al […]

Comprobación de tipos de enumeración válidos de protobufs

En mi archivo protobuf llamado skill.proto, tengo: message Cooking { enum VegeType { CAULIFLOWER = 0; CUCUMBER = 1; TOMATO = 2 } required VegeType type = 1; } En otro archivo (por ejemplo, nombre.py) quiero verificar que la enumeración dentro del archivo sea un tipo válido #if (myCookingStyle.type != skill_pb2.Cooking.VegeTypes): print “Error: invalid cooking […]

Enum de Python a través de módulos

¿Por qué en Python 3 la igualdad de enumeración no se puede verificar correctamente a través de los límites de los módulos si la enumeración se ha definido en el módulo principal? Aquí hay un ejemplo: móduloA.py: #!/usr/bin/python3 import moduleB from enum import Enum, unique @unique class MyEnum(Enum): A = 1 B = 2 # […]

¿Cómo extender Python Enum?

¿Cuál es la mejor práctica para extender el tipo Enum en Python 3.4 y hay incluso una posibilidad para hacer esto? Por ejemplo: from enum import Enum class EventStatus(Enum): success = 0 failure = 1 class BookingStatus(EventStatus): duplicate = 2 unknown = 3 Traceback (most recent call last): … TypeError: Cannot extend enumerations Actualmente no […]

¿Cuándo debo subclasificar EnumMeta en lugar de Enum?

En este artículo, Nick Coghlan habla sobre algunas de las decisiones de diseño que se EnumMeta tipo de EnumMeta PEP 435 , y sobre cómo se puede subclasificar a EnumMeta para proporcionar una experiencia de Enum diferente. Sin embargo, el consejo que doy (y soy el autor principal de Enum stdlib) sobre el uso de […]

Clase Python Enum (con cadena de cadenas)

He encontrado una forma sencilla de implementar (piratear) una enumeración en Python: class MyEnum: VAL1, VAL2, VAL3 = range(3) Entonces puedo llamar a esto como tal: bob = MyEnum.VAL1 ¡Sexy! Muy bien, ahora quiero poder obtener tanto el valor numérico si se le da una cadena, o una cadena si se le da un valor […]

¿Es posible anular __new__ en una enumeración para analizar cadenas en una instancia?

Quiero analizar cadenas en Python enums. Normalmente se implementaría un método de análisis para hacerlo. Hace unos días descubrí el método __new__ que es capaz de devolver diferentes instancias basadas en un parámetro dado. Aquí mi código, que no funcionará: import enum class Types(enum.Enum): Unknown = 0 Source = 1 NetList = 2 def __new__(cls, […]

Especificando un mySQL ENUM en un modelo de Django

¿Cómo hago para especificar y usar un ENUM en un modelo de Django?