Archivo

Posts Tagged ‘Python’

Compilar scripts python

marzo 15, 2018 2 comentarios

Es posible que en algún momento nos interese compilar un script de python para que no lo modifique nadie, eso es posible ejecutando el siguiente comando:

# python -m py_compile launcher.py elastic_api.py

Esto nos generará el directorio “__pycache__”

Para usar los scripts, lo haremos de la siguiente manera:

# cd __pycache__/

# mv elastic_api.cpython-35.pyc elastic_api.pyc

# mv launcher.cpython-35.pyc launcher.pyc

# python launcher.pyc
Anuncios

Instalar paquete local de Python con pip

abril 19, 2015 Deja un comentario

Es posible que queráis instalar un paquete de Python, y no esté en los repositorios, sobretodo si estáis en Windows.

Para hacer la instalación local de el paquete que os habéis descargado previamente, primero necesitáis instalar el paquete wheel, que nos ayudará a la posterior instalación de los paquetes locales, ya que se encarga de poder realizar su instalación:

pip install wheel

Una vez que tenéis la dependencia instalada, nos vamos al directorio donde esté descargado el paquete, y lo instalamos sin mayor problema.

pip install pyHook-1.5.1-cp27-none-win_amd64.whl
Categorías:Programación Etiquetas: ,

Curso de Desarrollo de Aplicaciones Web con Python

septiembre 21, 2012 Deja un comentario

Como su propia web indica:

El curso de Desarrollo de Aplicaciones Web con Python
ha sido pensado para introducirse en el mundo de la programación
a través del lenguaje Python, al servicio tanto de aplicaciones
de escritorio como Web, pero haciendo mayor énfasis en este
último.

Espero que lo disfrutéis.

Categorías:General Etiquetas:

Calcular tiempos de ejecutar algo en Python

abril 9, 2012 1 comentario

Pues lo dicho, haciendo unos programas en Python me ha surgido la necesidad de calcular los tiempos de unas rutinas para ver si se podían optimizar.
El caso es que he encontrado una manera muy práctica, y aquí la tenéis.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import timeit

number = 100

t1 = timeit.timeit( stmt = "print 'hola'", number = number)

print "Init object() %d times = %.2f usec/pass" % (number, number * t1/number)

Para más información podéis consultar la documentación de Python:

http://docs.python.org/library/timeit.html

Categorías:General Etiquetas: ,

Como escribir eñes “Ñ” y acentos en Python

febrero 14, 2012 24 comentarios

Para poder utilizar caracteres extendidos en Python es necesario indicarle que estamos haciendo tal cosa, ya que sino, por defecto únicamente contempla que estamos utilizando ASCII de 7bits, en los que no se contemplan ni eñes ni acentos ni ningún otro carácter que no esté en el teclado americano.
Para indicarle pues que estamos utilizando otro tipo de codificación, y eso lo podemos hacer de la siguiente manera:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
print "¡Hola papá!\nYa puedo escribir bien.\nÑañañaña"

Incluyendo la línea de la codificación como se puede apreciar en el código anterior.

Categorías:General Etiquetas:

Modificar límite recursividad en Python

enero 31, 2012 5 comentarios

A veces cuando programamos, necesitamos incrementar el límite de recursividad que nos marca por defecto el lenguaje.
En el caso de Python es muy simple, basta con importar la librería del sistema, e indicarle el nuevo límite.
A continuación un muestro un programa de ejemplo de como realizarlo:

#!/usr/bin/python
#David Trigo Chavez
#31/01/2012

#Importamos el modulo sys para ver y modificar parametros del sistema
import sys

#Definimos una funcion recursiva que se llama a si misma
def funcion(param):

  if param < sys.getrecursionlimit()-2:
    param+=1
    funcion(param)
    print param

  return param

if __name__ == "__main__":

  #Mostramos el limite de recursividad actual
  print sys.getrecursionlimit()
  #Lo modificamos a 30
  sys.setrecursionlimit(30)

  #Llamamos a la funcion que hemos definido.
  print "El resultado de la funcion es "+str(funcion(0))

Queda a vuestra tarea investigar el funcionamiento de la aplicación, y ver porque el resultado final de la ejecución es el siguiente

El resultado de la funcion es 1
Categorías:General Etiquetas: , ,

Consultar servidor NTP desde Python

enero 19, 2012 2 comentarios

Bueno, este es un programa interesante para trabajar con fechas, que como sabéis dan tantos problemas en todos los lenguajes de programación.

Este en concreto, consulta la fecha en un servidor NTP, y posteriormente la compara con una fecha guardada en el propio código.

Las utilidades son varias, desde simplemente consultar la hora en un servidor, comprobar la hora del sistema con la del servidor NTP, o hacer que la aplicación deje de funcionar en un momento dado, eso ya lo dejo a vuestra elección.

Comentar que el código únicamente se ha probado con Linux.

#!/usr/bin/python
from socket import *
import struct,os,time,sys

# Servidor NTP. (123 is the NTP port number).
time_server = ('hora.rediris.es', 123)

#Fecha a -> Wed May 2 15:02:44 2012 (En segundos)
#Obtener fecha actual "date +%s" y sumarle los segundos que se quieran
fecha = 1335963764

# number of seconds between NTP epoch (1900) and Unix epoch (1970).
TIME1970 = 2208988800L # Thanks to F.Lundh

client = socket( AF_INET, SOCK_DGRAM )
data = '\x1b' + 47 * ''
client.sendto(data, time_server)
data, address = client.recvfrom( 1024 )

if data:

 t = struct.unpack( '!12I', data )[10]
 if t == 0:
 raise 'invalid response'
 ct = time.ctime(t - TIME1970)

 #---------------------------------------------

 #Fecha limite
 a = time.gmtime(fecha)
 print a
 print a.tm_year
 print a.tm_mon
 print a.tm_mday
 print a.tm_hour
 print a.tm_min
 print a.tm_sec

 #Fecha actual
 b = time.gmtime(t - TIME1970)
 print b
 print b.tm_year
 print b.tm_mon
 print b.tm_mday
 print b.tm_hour
 print b.tm_min
 print b.tm_sec

 #Fecha del sistema
 horaRaw = time.time()
 c = time.localtime(horaRaw)
 print c
 print c.tm_year
 print c.tm_mon
 print c.tm_mday
 print c.tm_hour
 print c.tm_min
 print c.tm_sec

 #Comparacion fechas
 print a == b
 print a == a

else:
 raise 'no hay conexion con el servidor ntp'
Categorías:General Etiquetas: , ,