Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:ftp

¡Esta es una revisión vieja del documento!


Python: FTP

Módulo ftplib

Login

Iniciar sesión en un servidor FTP.

# Cogemos solo el objeto 'FTP' del módulo ftplib
from ftplib import FTP
 
ftp = FTP("servidor.ftp")
 
ftp.login("usuario", "contraseña")
 
# Cerramos la conexión
ftp.close()

Si el servidor FTP permite acceso anónimo, no tendríamos que poner ningún argumento en el método login(), es decir: ftp.login()

Listar ficheros

El método nlst() devuelve una lista con los ficheros y directorios del servidor FTP.

ftp.nlst()
 
# Resultado:
# ['.', '..', 'directorio', 'archivo.txt']
 
# Podemes especificar el directorio que queremos listar:
ftp.nlst("directorio")

Para movernos por directorios, utilizamos el método cwd():

ftp.cwd("directorio")

Descargar ficheros

Descarga de un fichero:

from ftplib import FTP
import os
 
ftp.cwd("directorio")
 
# Directorio local donde se descargará el fichero
os.chdir("/home/usuario/datos")
 
with open("archivo.txt", "wb") as file:
    ftp.retrbinary("RETR archivo.txt", file.write)

Ejemplos

Descarga de ficheros:

from ftplib import FTP
import os
 
def ftpDownloader(archivo, host, user, password):
    ftp = FTP(host)
    ftp.login(user, password)
    ftp.cwd("datos")
    os.chdir("/home/usuario/datos")
    with open(archivo, "wb") as file:
        ftp.retrbinary("RETR %" % archivo, file.write)
informatica/programacion/python/ftp.1604663361.txt.gz · Última modificación: por tempwin