Articles of python 2.x

unpack_from requiere un búfer de al menos 4 bytes

Estoy recibiendo un paquete del cliente, que consta de muchos campos. Leí todos los campos con éxito, pero cuando se trata del último campo que es tag_end, python me da un error: unpack_from requiere un búfer de al menos 4 bytes no encontrados. este es el codigo def set_bin(self, buf): “””Reads a vector of bytes […]

¿Las variables definidas dentro de las comprensiones de la lista se filtran en el ámbito de cierre?

No puedo encontrar ningún lugar que defina este comportamiento: if [x for x in [0, 1, -1] if x > 0]: val = x ¿Qué tan seguro es este código? ¿Se asignará siempre val al último elemento de la lista si algún elemento de la lista es mayor que 0?

Cadenas de Python y encoding y deencoding del método str ()

Veo que el manual de Python menciona los métodos de cadena .encode() y .decode() . Al jugar en la CLI de Python veo que puedo crear cadenas de Unicode u’hello’ con un tipo de datos diferente al de una cadena ‘hello’ normal ‘ ‘hello’ y puedo convertir / lanzar con str() . Pero los problemas […]

Conseguir más control sobre los operadores de comparación ricos en python2

>>> class Yeah(object): … def __eq__(self, other): … return True … >>> class Nah(object): … def __eq__(self, other): … return False … >>> y = Yeah() >>> n = Nah() >>> y == n True >>> n == y False El jugador izquierdo gana porque cuando python2 ve x == y intenta x.__eq__(y) primero. ¿Hay […]

Python _2or3 módulo?

Estoy escribiendo un módulo que me permite escribir código en Python 3, pero aún así ejecutarlo en 2. Parece sorprendentemente fácil en realidad … ¿hay algo más que deba agregar? Desde mi (limitado) agitación en el intérprete interactivo, las importaciones futuras no afectan a Python 3 y se consideran redundantes. # _2or3.py ”’ Common usage: […]

Comportamiento predeterminado del módulo de copia en clases definidas por el usuario

Cuando se llama a copy.copy o copy.deepcopy en una instancia de una clase definida por el usuario que no tiene un método __copy__ o __deepcopy__ , ¿qué garantiza Python? Los documentos oficiales son inquietantemente no explícitos sobre este asunto. ¿La función siempre devolverá una nueva instancia de la misma clase con una copia superficial / […]

listdir no imprime letras que no estén en inglés correctamente

En Python 2.7, for dir in os.listdir(“E:/Library/Documents/Old – Archives/Case”): print dir imprime: Danny.xlsx Dannyh.xlsx ~$??? ?? ?????? ??? ???? ???????.docx mientras esto: # using a unicode literal for dir in os.listdir(u”E:/Library/Documents/Old – Archives/Case”): print dir imprime: Dan.xlsx Dann.xlsx Traceback (most recent call last): File “E:\…\FirstModule.py”, line 31, in print dir File “C:\Python27\lib\encodings\cp1252.py”, line 12, in […]

¿Cuál es el número más grande que puede manejar la clase decimal?

Mi progtwig calcula la constante matemática e , que es irracional. Para hacer esto, necesitaba obtener factorials de números muy grandes. int no puede manejar números mayores de 170 !. (Descubrí que la calculadora de Google más grande que puede manejar es 170.654259, pero no estoy seguro de cómo se puede descomponer en factores no […]

Procesos de fondo asíncronos con web2py.

Necesito manejar un gran proceso (que consume tiempo y memoria) de forma asíncrona en una aplicación web2py llamada dentro de un método de controlador. Mi caso de uso específico es llamar a un proceso a través de stdlib.subprocess y esperar a que salga sin bloquear el servidor web, pero estoy abierto a métodos alternativos. Los […]

¿Por qué no puedo usar `import * en una función?

Esto funciona como se esperaba def outer_func(): from time import * print time() outer_func() Puedo definir funciones anidadas en la multa de contexto y llamarlas desde otras funciones anidadas: def outer_func(): def time(): return ‘123456’ def inner_func(): print time() inner_func() outer_func() Incluso puedo importar funciones individuales: def outer_func(): from time import time def inner_func(): print […]