Es común necesitar automatizar ciertas tareas al interactuar con un servidor ftp. Por lo tanto tenemos una fácil opción de interactuar desde nuestro script python con el servidor remoto con una librería estándar muy util: ftplib. No debemos tener problemas con instalación o cualquier otra configuración pues esta librería viene por defecto con la instalación básica de python.

Para importar el objeto ftp simplemente usaremos

from ftplib import FTP

el primer método con el que nos veremos relacionados es el constructor que en el cual podemos llevar acabo toda la conexión, su sintaxis es la siguiente:

class ftplib.FTP([host[, user[, passwd[, acct[, timeout]]]]])

hacemos la conexion:

host = “ftp.host.org”
user = “juan”
passwd= “secreto”
tp = FTP(host, user, passwd)

Y hemos entablado la comunicación con el servidor ftp. Ahora veamos algunos métodos comunes en el manejo ftp.

Para crear un nuevo directorio remoto

ftp.mkd('galeria')

Para cambiar a un nuevo directorio de trabajo remoto

ftp.cwd('galeria')

pwd nos muestra el directorio actual en el que nos encontramos.

ftp.pwd()
/htdocs/galeria

Finalmente el famoso dir, que nos mostrara el contenido del directorio actual en la salida estándar de nuestro prompt

ftp.dir()

Ahora bien, para cargar un archivo de forma binaria se utiliza:

f = open('imagen.png', 'rb')
ftp.storbinary('STOR imagen.png', f)
f.close()

Y para descargar un archivo en forma binaria al directorio de trabajo local actual:

ftp.retrbinary('RETR imagen.png', open('imagen2.png', 'wb').write)

Finalmente, para eliminar un archivo remoto:

ftp.delete('imagen.png')

Y para eliminar un directorio

ftp.rmd('galeria')

Espero este breve recorrido por el uso de los comandos ftp haya sido útil para todos...

Share This