Manipulación de FTP en Python

Manipulación de FTP en Python

En este tutorial, aprenderemos a manipular FTP en Python. Usaremos el módulo ftplib para conectarnos a un servidor FTP, transferir archivos y realizar otras tareas.

Instalación

Para instalar el módulo ftplib, ejecuta el siguiente comando en la terminal:

pip install ftplib

Conexión a un servidor FTP

Para conectarnos a un servidor FTP, usamos el método connect() del módulo ftplib. Este método toma los siguientes parámetros:

  • host: La dirección IP o el nombre de dominio del servidor FTP.
  • port: El puerto del servidor FTP. El puerto predeterminado es 21.
  • user: El nombre de usuario de la cuenta FTP.
  • passwd: La contraseña de la cuenta FTP.

Por ejemplo, para conectarnos al servidor FTP de Google, ejecutaríamos el siguiente código:

Python
import ftplib

# Conectarse al servidor FTP de Google
host = "ftp.google.com"
port = 21
user = "anonymous"
passwd = "your_email@example.com"

ftp = ftplib.FTP(host, port, user, passwd)

Una vez que estemos conectados al servidor FTP, podemos usar los métodos del módulo ftplib para realizar operaciones.

Transferencia de archivos

Para transferir un archivo, usamos el método storbinary() del módulo ftplib. Este método toma los siguientes parámetros:

  • filename: El nombre del archivo a transferir.
  • fp: El objeto de archivo que contiene el archivo a transferir.

Por ejemplo, para transferir el archivo my_file.txt del equipo local al servidor FTP, ejecutaríamos el siguiente código:

Python
# Abrir el archivo local
with open("my_file.txt", "rb") as fp:

    # Transferir el archivo al servidor FTP
    ftp.storbinary("my_file.txt", fp)

Para transferir un archivo del servidor FTP al equipo local, usamos el método retrbinary() del módulo ftplib. Este método toma los mismos parámetros que el método storbinary().

Por ejemplo, para transferir el archivo my_file.txt del servidor FTP al equipo local, ejecutaríamos el siguiente código:

Python
# Crear un archivo vacío
with open("my_file.txt", "wb") as fp:

    # Transferir el archivo del servidor FTP
    ftp.retrbinary("my_file.txt", fp)

Listado de directorios

Para listar los directorios de un servidor FTP, usamos el método dir() del módulo ftplib. Este método devuelve una lista de cadenas con los nombres de los directorios.

Por ejemplo, para listar los directorios del directorio actual del servidor FTP, ejecutaríamos el siguiente código:

Python
# Listar los directorios del directorio actual
dirs = ftp.dir()

# Imprimir los directorios
for dir in dirs:
    print(dir)

Creación de directorios

Para crear un directorio en un servidor FTP, usamos el método mkd() del módulo ftplib. Este método toma un solo parámetro:

  • dirname: El nombre del directorio a crear.

Por ejemplo, para crear un directorio llamado my_dir en el directorio actual del servidor FTP, ejecutaríamos el siguiente código:

Python
# Crear un directorio
ftp.mkd("my_dir")

Borrado de directorios

Para borrar un directorio en un servidor FTP, usamos el método rmd() del módulo ftplib. Este método toma un solo parámetro:

  • dirname: El nombre del directorio a borrar.

Por ejemplo, para borrar el directorio my_dir del servidor FTP, ejecutaríamos el siguiente código:

Python
# Borrar un directorio
ftp.rmd("my_dir")

Conclusión

En este tutorial, aprendimos a manipular FTP en Python. Usando el módulo ftplib, podemos conectarnos a un servidor FTP, transferir archivos, realizar otras tareas.