2.19.2006

Usa python por favor

En mi serie de artículos sobre "usa %s por favor" % cosa no puedo por menos que exponer por qué una personas de la calle _debe_ usar python en el día a día de su relación con su máquina (no hablo de PC, ojo).

Joder, quién no ha querido cambiar un montón de ficheros de una vez, procesaor ficheros de texto, modificar imágenes, capturar imágenes de una webcam, hacer un juego, abrir una hoja de excel y modificarla, hacer una web, dar de comer a tu gato de forma remota, hacer un sistema distribuído, hacer una aplicación de contabilidad, manejar el puerto paralelo/serie o símplemente que querido librarse de crear la típica tarea que sabes que se puede hacer automáticamente pero que realmente no sabes como o eres demasiado vago para ponerte a programarla.

Todos estas cosas y muchas más las puedes hacer con python. Para el que no sepa ni de lo que estoy hablando te diré que python es un lenguaje de programación simple y potente y que en no demasiado tiempo te puede permitir hacer cosas que ahora mismo piensas que son imposibles de hacer para tí. Para abrir boca puedes leer la página de wikipedia sobre python. Si ya sabes lo que es python, no sé qué haces que no estás usandolo pero ya.

Qué tiene python de bueno:

- Es simple de usar y de aprender.
- Permite hacer desde programas de una línea hasta el infinito.
- Permite hacer prácticamente de todo en casi cualquier dispositivo.

Basta con bajarse la última versión para tu SO preferido (windows, en linux suele venir con la distribución, aunque puedes bajarlo y compilarlo tú mismo) y empezar a echar un vistazo a la documentación, en concreto al tutorial (inglés, español) y empezar a hacer cosas. Cuando digo cosas no digo el típico printf("hola mundo"), hablo de cosas que pueden resultar útiles. En mi caso lo uso casi siempre para ahorrarme trabajo en la edición de código, extraer datos de cabeceras... por ejemplo, en mi proyecto fin de carrera lo uso para generar un fichero de texto con la simulación de una trayectoria de un tractor en una tierra. Es totalmente posible hacerlo en C/C++ o cualquier otro lenguaje, pero Python ofrece un montón de herramientas, por ejemplo , en este caso me permite manipular las cadenas con facilidad, usar perlin noise (para hacer variar la trazada suavemente), grabarlo a fichero, etc.

Lo que más me gusta de python es que cuando llevas un tiempo usándolo puedes empezar a hacer verdaderas virguerías. Por ejemplo, puedes capturar imágenes de tu webcam y procesarlas y todo esto con poquísimas líneas de código:


from VideoCapture import Device

cam = Device()
cam.saveSnapshot('image.jpg')


Simple no?, pues con esa extensión y, por ejemplo, PIL (python image library) puedes crear listas de las capturas tomadas en pequeñín. Seguro que hay muchísmas cosas que se te puede ocurrir y que fácilmente se pueden hacer con python.

Pero no solo hay esto, puedes hacer juegos con pygame (por ejemplo como este de r3d de rgba XDD) o como makefight (pronto noticias), puedes embeberlo para usarlo desde tu aplicación en C++ con las facilidades que da swig, puedes usarlo en tu nokia, en tu pocketpc... qué más se puede pedir?.

Como lenguaje se puede decir que tiene un API brutal, que es interpretado, que es orientado a objetos incluídas las facilidades del garbage collector y que prácticamente te obliga a mantener un código limpio. No voy a enumerar algunos de sus problemas para no ensuciar el post :/.

Nada más, solo que visites la página oficial de vez en cuando, alguna página de noticias para saber lo que hay de nuevo o el weblog del creador... Ah! y que no dejes de practicar :).

7 comentarios:

trijj dijo...

Lo he bajado y estoy probando, de momento lo veo muy sencillo de trabajar el lenguaje (con el manual delante claro) :D

¿Que IDE usas?

javi dijo...

Uso gvim: http://blep.blogspot.com/2005/08/vim.html

Aunque puedes usar boa constructor, el que viene con la distro de python... hay muchos por ahí :)

xflojo dijo...

acabo de probarlo, je je
yahveh@xflojo.va~$ python xD

la ultima vez que programe algo fue hace como 3 años en Computación I y en pascal :P en fin a darle unas vueltas a ver como me va

Lord Taran dijo...

Yo os recomiendo que le echéis un ojo a SPE:
http://www.stani.be/python/spe/blog/
En ubuntu viene en los repositorios...

Krïst007 dijo...

hace rato ke desarrollo en python, la verdad es potente y aunke hay kienes prefieren desarrollar directo en el interprete, yo prefiero usar una ide como boa o idle ke es con la que cuenta python por default....
hace un año desarrollé mi primer juegecillo de naves en python, pero lo ke no he podido desarrollar es una herramienta ke permita capturar y enviar video, si alguien se le apunta solo deje un post en este blog o contacteme a mi correo, toda la ayuda será bienvenida.
bye

Krïst007 dijo...

hola me interesa lo de la manipulacion de webcam en python...
hace rato que hice mi jueguecillo de naves en python con pygame, math y otra linreria que usa wrappers para sdl.
pero lo qie deseo es capturar video de mi webcam con pythin a ver si puedo enviarlo con un socket tcp/ip.
cualquier ayuda será bienvenida mi msn es:
g-suskrist_007@hotmail.com
gracias de antemano por toda la ayuda :)

Anónimo dijo...

disculpa una pregunta talvez tu as tratado de sacar los caracteres de una imagen con python....o alguien sabe como hacerlo...
me podrian ayudar en este tema

gracias!! :)