Download Modulos y Paquetes
Document related concepts
no text concepts found
Transcript
Modulos y Paquetes Módulos • Un módulo es un componente que provee definiciones de funciones, variables o clases relativas a un tema común. • Un módulo reside en un archivo. • Permiten (re)utilizar facilidades ya definidas por otros sin necesidad de programarlas (reinventar la rueda) • Python permite al programador escribir sus propios módulos de manera sencilla Utilización de módulos • Para utilizar un módulo predefinido se debe importar en nuestro programa: • import nombre-módulo • Por ejemplo: – import math • Luego podemos utilizar las definiciiones del módulo math: – print "el número e es %10.7f" % math.e – print « la raíz de 2 es " + math.sqrt(2) • Toda definición del módulo math puede accederse escribiendo math.nombre Importar nombres directamente • Se puede utilizar esta forma de importación – from math import sqrt, e • Eso nos permite escribir: – print "el número e es %10.7f" % e – print "la raíz de 2 es " + sqrt(2) • Podemos importar todos los nombres con: – from math import * • En este caso las otras definiciones del módulo no son accesibles. Información sobre módulos disponibles • Para conocer todos los módulos disponibles (biblioteca estándar de python): • http://docs.python.org/library/ • Para obtener información sobre un módulo en particular: – help(nombre-módulo) Creación de módulos • Para crear un módulo basta con escribir un archivo con las definiciones apropiadas: – # file Valseq.py – valid_sequence_dict = { "P1": "complete protein", "F1": "protein fragment", "DL": "linear DNA", "DC": "circular DNA", "RL": "linear RNA", "RC":"circular RNA", "N3": "transfer RNA", "N1": "other" } – def find_valid_key(e): • for key,value in valid_sequence_dict.items(): – if value == e: return key • Para utilizar este módulo: – import ValSeq Ubicación de los módulos • Los módulos residen en archivos. Estos archivos pueden ubicarse en: – el directorio corriente – en el directorio origen de python (PYTHONHOME), en linux es algo así: /usr/lib/python2.6 – en los directorios definidos en la variable de ambiente PYTHONPATH • dentro de python se puede consultar la variable sys.path para conocer la lista de directorios. Paquetes • Es un conjunto de modulos o subpaquetes • Físicamente: un directorio (carpeta) conteniendo archivos .py y subdirectorios definidendo otros paquetes. • El punto (.) se usa para describir la jerarquía de paquetes y modulos, por ejemplo Bio.WWW.ExPASy BioFasta • >>> import Bio.Fasta • >>> handle = open("data/ceru_human.fasta") >>> it = Bio.Fasta.Iterator(pin, Bio.Fasta.SequenceParser()) • >>> seq = it.next() • >>> print seq.seq • >>> it.close()