write seqio read descargar bio python

seqio - read fasta python



cómo analizar hexadecimal o decimal int en Python (5)

Esta pregunta ya tiene una respuesta aquí:

Tengo una cadena que puede ser un número hexadecimal con el prefijo "0x" o un número decimal sin un prefijo especial, excepto posiblemente un signo menos. "0x123" está en la base 16 y "-298" está en la base 10.

¿Cómo convierto esto a int o long en Python?

No quiero usar eval () ya que es inseguro y excesivo.


Algo como esto podría ser lo que estás buscando.

def convert( aString ): if aString.startswith("0x") or aString.startswith("0X"): return int(aString,16) elif aString.startswith("0"): return int(aString,8) else: return int(aString)


Base 16 a 10 (devuelve un número entero):

>>> int(''0x123'', 16) 291

Base 10 a 16 (devolver una cadena):

>>> hex(291) ''0x123''


Esta es una versión más simple que funciona como un encanto. Devuelve una cadena ya que hex () devuelve el mismo tipo:

def itoh(int): return hex(int)[2:]


Si está haciendo muchas cosas entre diferentes sistemas numéricos, la biblioteca de cadenas de bits hace que muchas operaciones binarias / hexadecimales sean más fáciles. También es compatible con la interpretación de cadenas:

http://pythonhosted.org/bitstring/


int("0x123", 0)

(¿Por qué no int("0x123") hace eso?)