Un FTP En Python

Hace algún tiempo procrastinaba leyendo sobre python y me encontré con la sorpresa de que poseía una librería para FTP así que decidí probar, el código resultante fue asombrosamente pequeño por lo que el día de hoy decido compartirlo con ustedes

#!/usr/bin/python
import sys
import os.path
import re
from ftplib import FTP

if(len(sys.argv) > 1):
   host="dominio"
   user="usuario"
   password="password"
   ftp = FTP(host,user,password)
   print ftp.getwelcome()
   print "\nLos siguientes Archivos se encuentran en el servidor...\n"
   ftp.cwd("files")
   ftp.retrlines('LIST')
   argumento=0
   print "Subiendo Archivos...\n"
   for un_archivo in sys.argv:
      if (argumento>0):
         name=os.path.basename(un_archivo)
         archivo=open(un_archivo,"rb")
         print " > Subiendo "+un_archivo
         ftp.storbinary('STOR '+name,archivo)
         print " * Archivo "+un_archivo+" subido correctamente"
      argumento=argumento+1
   print "\n"
   print "Envio exitoso\nLos siguientes archivos se encuentran ahora disponibles...\n"
   ftp.retrlines('LIST')
   ftp.quit()
else:
   print "falta especificar un archivo"

Obviamente este programa solo funciona para subir archivos (tal como esta escrito arriba) pero con un poco de ingenio puede sernos de mucha utilidad para por ejemplo subir múltiples archivos con solo arrastrar y soltar sobre un lanzador (eso en el caso de gnome, si estamos en windows ponemos usar un archivo .bat)

Espero les sea de utilidad.

PD.- Antes de que los puristas me agredan con comentarios como “pero donde esta la seguridad al dejar el usuario y contraseña al descubierto” les recuerdo que lo programe en un rato de ocio, el que tenga el tiempo y las ganas de encriptar los datos que lo haga 😛

1 thought on “Un FTP En Python”

Comments are closed.