Hola, hoy les traigo un pequeño script que utilizo para copiar al portapapeles la url pública de algún archivo que agrego a mi carpeta pública de dropbox, se copia en cuanto el archivo se crea o actualiza en el sistema de archivos, no cuando termina de subirse.
Antes de darles el script les dejo las dependencias:
Windows (versión de Linux sobre pedido)
python32 (para evitarme los problemas con archivos que tienen ñ o acentos)
pywin32 (manejar el portapeles)
Si llegas a tener problemas al importar pywin32 checa este post donde pongo la solución.
Solo tienen que personalizar las primeras 2 lineas, obtén el número de tu cuenta de dropbox desde la url pública de algún archivo que ya estes compartiendo.
Les dejo el código en licencia GPL
El código de la función que monitorea cambios en el sistema de archivos no es mio es de Tim Golden
jueves, 26 de mayo de 2011
sábado, 14 de mayo de 2011
Hoy traigo un script de python que cuenta el número de veces que se repite un alguna extensión de archivo(.txt .exe) en todo mi sistema de archivos, tenía curiosidad.
Este script devuelve los 30 mas comunes.
Debo confesar que la parte ordered no es código mio, aun no entiendo bien como usar lambdas en python solo se que sorted devuelve (en este caso) una lista ordenada de tuplas de menor a mayor dependiendo de los valores en el diccionario.
Update:
Ya entendí como funciona aquí la función sorted.
Vamos a deshuesar la función
Primero veamos, sorted necesita un parametro obligatorio, un iterable, en este caso estamos usando el metodo items de nuestro diccionario lo convertimos en una lista de tuplas, y usaremos esta lista de tuplas como iterable, considera este código
Esa es la lista de tuplas que usará sorted().
Ahora, a sorted() le queremos decir que nos ordene por el elemento [1] de la tuplas osea
El elemento 1 es el número de veces que se repite la extensión porque las tuplas en el caso real se ven asi ('.txt',9318) ok?
Ok ya entendemos porque x[1]
Entendamos porque lambda
Lambda crea funciones en una sola linea, estas son funciones completas que acepta parametros y devuelven algo, y resulta que el parametro key necesita ser obligatoriamente una función por eso no podemos ponerle simplemente
Porque eso no seria una función sino un int(el numero de veces que se repite .txt es un int), necesitamos una función entonces creamos una función a la que sorted() le va a enviar como parametro el iterable en cuestión es decir una ('.txt',9318) y esta función va a decir que ('.txt',9318) ahora es = x, y que de x queremos return x[1]
es como si pusieramos
Donde x es la tupla en cuestión.
Lindo no? cheers humanos!
Si tienen curiosidad este es el resultado
9550 archivos .py! yay!
Este script devuelve los 30 mas comunes.
Debo confesar que la parte ordered no es código mio, aun no entiendo bien como usar lambdas en python solo se que sorted devuelve (en este caso) una lista ordenada de tuplas de menor a mayor dependiendo de los valores en el diccionario.
Update:
Ya entendí como funciona aquí la función sorted.
Vamos a deshuesar la función
Primero veamos, sorted necesita un parametro obligatorio, un iterable, en este caso estamos usando el metodo items de nuestro diccionario lo convertimos en una lista de tuplas, y usaremos esta lista de tuplas como iterable, considera este código
Esa es la lista de tuplas que usará sorted().
Ahora, a sorted() le queremos decir que nos ordene por el elemento [1] de la tuplas osea
El elemento 1 es el número de veces que se repite la extensión porque las tuplas en el caso real se ven asi ('.txt',9318) ok?
Ok ya entendemos porque x[1]
Entendamos porque lambda
Lambda crea funciones en una sola linea, estas son funciones completas que acepta parametros y devuelven algo, y resulta que el parametro key necesita ser obligatoriamente una función por eso no podemos ponerle simplemente
Porque eso no seria una función sino un int(el numero de veces que se repite .txt es un int), necesitamos una función entonces creamos una función a la que sorted() le va a enviar como parametro el iterable en cuestión es decir una ('.txt',9318) y esta función va a decir que ('.txt',9318) ahora es = x, y que de x queremos return x[1]
es como si pusieramos
Donde x es la tupla en cuestión.
Lindo no? cheers humanos!
Si tienen curiosidad este es el resultado
9550 archivos .py! yay!
Suscribirse a:
Entradas (Atom)