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:
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:
# 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:
# 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:
# 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:
# 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:
# 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.