Python
Publicado el Domingo, 13 Septiembre 2015 15:53
Actualizado el Domingo, 13 Septiembre 2015 16:07

Python Enhancement Propuesta.En el PEP 1 explica qué es realmente.

En resumen es un documento que con un diseño de alguna nueva característica o propuesta de cambio importante a Python, o de alguna librería, respetando las normas en la que Python.

La creación los PEP fue con la intención de ser los principales mecanismos para proponer nuevas e importantes funciones, para la recogida de información de la comunidad sobre un tema, y ​​para documentar las decisiones de diseño que han entrado en Python.

El autor PEP es responsable de la creación de consenso dentro de la comunidad y la documentación de las opiniones. 

Plantillas de PEP

Hay dos formatos disponibles para crear un PEP: texto plano y reStructuredText. Ambos son archivos de texto UTF-8-codificado.

PEP texto plano se escriben con marcado estructural mínima que se adhiere a un estilo rígido. PEP 9 contiene unas instrucciones y una plantilla se puede utilizar para escribir un PEP en texto plano.

ReStructuredText PEP permite rica marcado que todavía es muy fácil de leer, con un aspecto mucho mejor y más funcional. En el PEP 12 contiene instrucciones y una plantilla para PEP reStructuredText.<Aunque de momento yo lo descarto>

 

Publicado el Viernes, 17 Julio 2015 01:42
Actualizado el Viernes, 17 Julio 2015 01:42

Empezar a conectar Python con Bases de datos:

Existen cientos de bases de datos y para poder conectar Python con ellas existe otros cientos de modulos distintos para poder conectar se con bases de datos. En Python existe una API estandar para el manejo de bases de datos, de modo que el código sea practicamente igual dependiendo de la bases de datos que se utilice.Esta se llama Python Database API o DB-API y se recoge en el PEP 249 (http://www.python.org/dev/peps/pep-0249/).

Publicado el Miércoles, 05 Febrero 2014 10:31
Actualizado el Sábado, 08 Febrero 2014 22:42

informacionMundo Geek

Los MODÚLOS en Python

Para facilitar el mantenimiento y la lectura los programas demasiado largos pueden dividirse en módulos, agrupando elementos relacionados. Los módulos son entidades que permiten una organización y división lógica de nuestro código. Los ficheros son su contrapartida física: cada archivo Python almacenado en disco equivale a un módulo.

Existen muchas propiedades que se pueden agregar al lenguaje importando módulos, que son "minicódigos" (la mayoría escritos también en Python) que proveen de ciertas funciones y clases para realizar determinadas tareas. Un ejemplo es el módulo Tkinter, que permite crear interfaces gráficas basadas en la biblioteca Tk. Otro ejemplo es el módulo os, que provee acceso a muchas funciones del sistema operativo.

Los módulos se agregan a los códigos escribiendo (NomModulo) nombre de fichero sin extensión.

import NomModulo

Podemos utiliza otra comando ,que importa partes del modulo .

from NomModulo import ParteModulo

A la hora import un modulo Python recorre todos los directorios indicados en la variable de entorno PYTHONPATH en busca de un archivo con el nombre adecuado. El valor de la variable PYTHONPATH se puede consultar desde Python mediante sys.path

Para Pyhton los modulos son objetos, de tipo modules. Por supuesto esto significa que pueden tener atributos y métodos. Uno de sus atributos, __name__, se utiliza a menudo para incluir código ejecutable en un módulo pero que este sólo se ejecute si se llama al módulo como programa, y no al importarlo. Para lograr esto basta saber que cuando se ejecuta el módulo directamente __name__ tiene como valor __main__, mientras que cuando se importa, el valor de __name__ es el nombre del módulo.

Otro atributo interesante es __doc__, que, como en el caso de funciones y clases, sirve a modo de documentación del objeto (docstring o cadena de documentación). Su valor es el de la primera línea del cuerpo del módulo, en el caso de que esta sea una cadena de texto; en caso contrario valdrá None.

Paquetes

Si los módulos sirven para organizar el código, los paquetes sirven para organizar los módulos. Los paquetes son tipos especiales de módulos (ambos son de tipo module) que permiten agrupar módulos relacionados. Mientras los módulos se corresponden a nivel físico con los archivos, los paquetes se representan mediante directorios.

En una aplicación cualquiera podríamos tener, por ejemplo, un paquete iu para la interfaz o un paquete bbdd para la persistencia a base de datos.

Para hacer que Python trate a un directorio como un paquete es necesario crear un archivo __init__.py en dicha carpeta. En este archivo se pueden definir elementos que pertenezcan a dicho paquete, como una constante DRIVER para el paquete bbdd, aunque habitualmente se tratará de un archivo vacío. Para hacer que un cierto módulo se encuentre dentro de un paquete, basta con copiar el archivo que define el módulo al directorio del paquete.

Como los modulos, para importar paquetes también se utiliza import y from-import y el caracter ‘.’ para separar paquetes, subpaquetes y módulos.

Publicado el Sábado, 01 Febrero 2014 16:23
Actualizado el Sábado, 01 Febrero 2014 16:31

Una vez tengamos instalado Python3.3 en Windows.

Creamos un programa de python como prueba ej. pythonPruebas.py que contiene un simple:

  • print("ola")
  • input("chao")

Compilar python desde Windows

Necesitamos instalar cx_freeze para crear ejecutable, si tubieramos python2.X nos valdria usar psycogp2.

Instalo cxfreeze compilador de python. Este es autoinstalable, crea una carpeta llamada Scripts en Python33 .

Se instala en Python33 --> Lib --> site-packages --> cx_Freeze

Con el siguiente comando logro convertir en un archivo ejecutable un script .py ej. pythonPruebas.py.

Desde terminal escribo:

C:\tpvopen\python>pythonPruebas.py cxfreeze - target-dir dist

Modificamos el PATH :

Vamos a Equipo --> click btn raton drcho -->Propiedades --> Config. Avanzada --> Variables Entorno --> modificamos el PATH , editamos y ponemos : C:\Program Files\Diffuse;C:\Python33

Como en la imagen y luego aceptamos todo y REINICIAMOS EL ORDENADOR.

artic-python-compilar-crear-ejecutable

Compilar Python

Vamos a la consola normal y ponemos:

C:\tpvopen\python>Python.exe "C:\Python33\Scripts\cxfreeze" "pythonPruebas.py" --target-dir "C:\tpvopen\python\ejecutable"

Entonces me crea unos archivos ejecutables:

Problema que puede suceder cuando pruebas el ejecutable en otro ordenador con Windows

Puede mostrarte un error tipo: No encuentra la libreria MSVCR100.dll

Solucion:

  1. Llevarte esa libreria del ordenador en el que creaste el ejecutable y copiarla en C:\Windows\System32
  2. O copiar la libreria de python33.dll en C:\Windows\System32

En mi caso utilice la 2ª opcion y me funciono el ejecutable en el otro ordenador sin problemas.