Articles of python 2.x

Aritmética básica de Python – División

Tengo dos variables: recuento, que es un número de mis objetos filtrados, y valor constante por página. Quiero dividir la cuenta por per_page y obtener un valor entero, pero no importa lo que intente, obtengo 0 o 0.0 >>> count = friends.count() >>> print count 1 >>> per_page = 2 >>> print per_page 2 >>> […]

Compara el resultado de hexdigest () con una cadena

Tengo un hash MD5 generado, que me gustaría comparar con otro hash MD5 de una cadena. La siguiente statement es falsa, a pesar de que tienen el mismo aspecto cuando las imprime y deben ser ciertas. hashlib.md5(“foo”).hexdigest() == “acbd18db4cc2f85cedef654fccc4a4d8” Google me dijo que debería codificar el resultado de hexdigest() , ya que no devuelve una […]

Python argparse: argumento de línea de comando que puede ser nombrado o posicional

Estoy tratando de hacer un progtwig Python que use el módulo argparse para analizar las opciones de la línea de comandos. Quiero hacer un argumento opcional que puede ser nombrado o posicional. Por ejemplo, quiero que myScript –username=batman haga lo mismo que myScript batman . También quiero que myScript sin nombre de usuario sea válido. […]

¿Por qué este código argparse se comporta de manera diferente entre Python 2 y 3?

El siguiente código, usando subparsers de argparse, falla en Python 3 pero se ejecuta como se esperaba en Python 2. Después de comparar los documentos, todavía no puedo decir por qué. #!/usr/bin/env python from __future__ import print_function from argparse import ArgumentParser def action(args): print(args) if __name__ == ‘__main__’: std = ArgumentParser(add_help=False) std.add_argument(‘standard’) ap = ArgumentParser() […]

División entera en comparación con el cociente de pisos: ¿por qué este resultado sorprendente?

El operador // “división entera” de Python me sorprendió, hoy: >>> math.floor(11/1.1) 10.0 >>> 11//1.1 9.0 La documentación lee “(floored) cociente de xey”. Entonces, ¿por qué math.floor (11 / 1.1) es igual a 10, pero 11 // 1.1 es igual a 9?

Envuelve un flujo abierto con io.TextIOWrapper

¿Cómo puedo envolver un flujo binario abierto – un file Python 2, un io.BufferedReader Python 3, un io.BytesIO – en un io.TextIOWrapper ? Estoy tratando de escribir código que funcione sin cambios: Corriendo en Python 2. Corriendo en Python 3. Con flujos binarios generados desde la biblioteca estándar (es decir, no puedo controlar qué tipo […]

¿Por qué el id () de un método no vinculado en Python 2 cambia para cada acceso?

Python 2.6.5 (r265: 79063, 1 de octubre de 2012, 22:07:21) [GCC 4.4.3] >>> class myclass: … def func(self): … pass >>> dd = myclass.func >>> ee = myclass.func >>> cc = myclass.func >>> ff = myclass.func >>> ss = myclass.func >>> uu = myclass.func >>> pp = myclass.func >>> >>> >>> id(dd) ; id(cc) ; […]

Python 2.x versiones múltiples problemas con PYTHONPATH

Hay Python 2.6 instalado en el sistema. Ahora quiero usar los módulos introducidos en Python 2.7. Como no tengo privilegios de root, he creado e instalado 2.7 en mi directorio principal ($ HOME / local /) Agregué lo siguiente a mi $ HOME / .bashrc: export PATH=$HOME/local/bin:$PATH export PYTHONPATH=$HOME/local/lib/python2.7:$PYTHONPATH Ahora me encontré con los dos […]

¿Por qué esta clase clave para clasificar secuencias heterogéneas se comporta de manera extraña?

No se puede confiar en la función sorted() Python 3.x para ordenar secuencias heterogéneas, ya que la mayoría de los pares de tipos distintos no se pueden ordenar (los tipos numéricos como int , float , decimal.Decimal , etc. son una excepción): Python 3.4.2 (default, Oct 8 2014, 08:07:42) [GCC 4.8.2] on linux Type “help”, […]

Diferencia entre io.open vs open en python

En el pasado, hay codecs que fueron reemplazados por io . Aunque parece que es más recomendable usar io.open , la mayoría de las clases introductorias de python aún se imparten open . Hay una pregunta con Diferencia entre abrir y codecs.open en Python, pero ¿ es un mero tipo io.open de io.open ? Si […]