Servidor web en una sola línea en Python

Si deseamos compartir archivos de un repositorio alojado en una PC con otros miembros dentro de la misma red local, con Python es muy sencillo.

Desde una terminal (like Linux), primero crear el directorio a compartir:

$mkdir share-dir

Ubicarnos en el directorio a compartir:

cd share-dir/

Y aquí la magia para levantar el servicio, con Python 2.x:

$ python -m SimpleHTTPServer 8000

O con Python 3.x

$ python -m http.server 8000

Ahora ya puedes compartir con los interesados. Solo envía tu dirección IP y el puerto:

192.168.***.***:800

Es importante mencionar lo siguiente:

  • No correr el servicio en tu directorio /home/user; porque estarías compartiendo toda tu información. A menos que sea lo que deseas.
  • Este módulo no es recomendable para producción. Para mas información acerca de HTTP servers, la documentación oficial se encuentra aquí.

Un buen sitio con ejemplos para hacer lo mismo con otros lenguajes, es el GitHub de William Bowers; el cual además está lleno de comentarios de otros desarrolladores para ampliar la lista de lenguajes.

Y un buen libro para practicar código Python en una sola línea, es Python One-Liners: Write Concise, Eloquent Python Like a Professional, del prolífico Christian Mayer.