Daily Archives: 18/05/2008

Aprendiendo Python

Me he decidido a aprender Python, para ello, lo primero que estoy haciendo es traducir mis script de Bash al nuevo lenguaje. Mucho Google y mucho leer, probar, corregir y volver a probar. De momento no veo que sea demasiado complicado, aunque aun no he profundizado mucho.

El primer script que he traducido ha sido el del temporizador, no tenía apenas dificultad.

#!/usr/bin/python
import sys
import time
import os
tiempo = input("Introduzca el tiempo: ")
tiempo *= 60
time.sleep(tiempo)
for i in range(3):
  os.system('beep')
  time.sleep(1)

El segundo script, lo he escrito para que mi amigo nickel pueda practicar con mi script de las peliculas, él aprende Ruby.

import os, os.path
import glob
def listado(path):
  try:
    for fichero in os.listdir(path):
      fname = os.path.join(path, fichero)
      if os.path.isdir(fname):
        os.makedirs(target + fname) # crea directorio y padres
        listado(fname)
      else:
        print fname
        file = open(target + fname, "w")
        file.close()
  except OSError, e:
    print e
path = "/mnt/backup/pelis"
target = "/home/nordri/target"
# Creamos la raiz del objetivo
if not os.path.exists(target): os.makedirs(target)
if not os.path.exists(target + path): os.makedirs(target + path)
listado(path)

Este script genera un árbol espejo del árbol path pero con los archivos vacios. Útil para practicar si quiere obtener el mismo listado de pelis que me sale a mi. No creo que tenga ningun problema en implementarlo. Yo mismo he notado como Python generaba el árbol sin preocuparme de los caracteres extraños que pueden contener los títulos de las pelis. De echo, seguro que la implementación suya le da mil vueltas a la mia, este chaval es un genio.