Cómo usar FTP en Python?

Cómo usar FTP en Python?
¿Alguna vez ha utilizado algún sistema de control de versiones o sistema de red en la nube en el que usted y sus colegas puedan actualizar los datos y obtener los archivos?? Si no, este artículo sería muy beneficioso para usted. Puede crear programas de Python que realicen varias tareas FTP autónomas utilizando el paquete FTPLIB en Python. Para descargar archivos y administrarlos fuera de línea, los usuarios pueden conectarse instantáneamente a algo como un servidor FTP. Dentro de este artículo, discutiremos los programas de Python para usar el servidor FTP y acceder a sus archivos en el sistema local.

Ejemplo 01:

Comencemos con el primer ejemplo de Python usando FTP en sus programas. Para esto, hemos estado utilizando la herramienta Spyder 3 para el programa Python en el sistema Windows 10. Este script primero debe establecer una conexión a un servidor FTP. Hemos creado un nuevo archivo llamado "Prueba.py ”en la herramienta Spyder 3 y la guardó dentro de la carpeta Spyder respectiva. Hemos estado comenzando este código con la importación de la biblioteca "FTPLIB" para usar FTP en Python.

Después de esto, hemos estado tratando de conectarnos a un servidor FTP utilizando su URL oficial I.mi., "FTP.nluug.nl ". Esta URL se ha utilizado dentro de la función "FTP" mediante el uso de la biblioteca "FTPLIB" de Python. El resultado de retorno para esta función FTP se guardaría en el objeto "FTP" "F". Usando este objeto FTP "F", hemos estado utilizando la función de inicio de sesión () de FTP para iniciar sesión en el usuario de FTP utilizando el nombre de usuario anónimo y su contraseña o correo electrónico para iniciar sesión. Hemos definido una lista vacía "V" que almacenará la lista de documentos y directorios que residen dentro de la carpeta raíz de este servidor FTP. Esta lista "V" ha estado utilizando la función "append ()" de Python para insertar todos los archivos y directorios en forma de una matriz que reside en el directorio de trabajo actual en sí misma en la lista "V" a través de la función "Dir".

Después de esto, el objeto FTP se ha utilizado para cerrar la conexión al servidor mediante el uso de la función Quit () de la biblioteca FTP. Después de esto, hemos estado utilizando la lista "V" en el bucle "para" para leer todos sus datos en línea e imprimirlo todo usando la función "Imprimir" junto con la variable de línea, tomando cada documento o directorio como un elemento de una lista. Nuestro código ahora se completa y lo hemos guardado para ejecutar.

importar ftplib
f = ftplib.Ftp ("ftp.nluug.nl ")
F.Iniciar sesión ("Anónimo", "ftplib-exame-1")
V = []
F.Dir (V.adjuntar)
F.abandonar()
Para la línea en V:
imprimir ("-", línea)

Al ejecutar este código en Spyder 3 usando su botón Ejecutar, tenemos la lista de todos los archivos disponibles en el directorio raíz del servidor FTP en nuestra consola Spyder. Puede ver que mostró los privilegios asignados a cada directorio junto con su fecha de creación y nombre del archivo después de eso. Hay algunos archivos de espejo en la lista, así como los enlaces simbólicos.

Ejemplo 02:

Dentro de nuestro primer ejemplo, hemos analizado cómo enumerar todos los archivos y carpetas que residen en la carpeta raíz actual de su servidor FTP. Ahora, enumeraremos los documentos desde la carpeta específica de su servidor FTP. Para esto, hemos estado utilizando el mismo código que usamos en el primer ejemplo. Por lo tanto, hemos estado comenzando este ejemplo con la importación de la misma biblioteca FTPLIB de Python para conectar nuestro programa con el servidor FTP. Hemos estado conectando nuestro programa con el mismo servidor FTP utilizando la función FTP e iniciando sesión anónimamente a través de la función de inicio de sesión () de Python.

Después de iniciar sesión exitosa usando el objeto "F" del paquete FTP de Python, hemos inicializado una lista vacía "V" que se utilizará más. La función "cwd ()" del módulo FTP en Python se ha utilizado para cambiar el directorio de trabajo actual y moverse dentro de una nueva carpeta I.mi., "Pub" de nuestro servidor FTP. Ahora, estamos en una ubicación diferente del servidor FTP y utilizando la función de append para insertar todos los archivos de la carpeta "Pub" dentro de la lista "V" utilizando la función "Dir".

La función Quit () se ha utilizado para salir del servidor FTP. El bucle "para" está aquí para imprimir cada archivo en esta carpeta "Pub" como un elemento de línea separado.

importar ftplib
f = ftplib.Ftp ("ftp.nluug.nl ")
F.Iniciar sesión ("Anónimo", "ftplib-exame-1")
V = []
F.CWD ('/pub/')
F.Dir (V.adjuntar)
F.abandonar()
Para la línea en V:
imprimir ("-", línea)

Después de la ejecución de este código actualizado, tenemos todos los archivos y carpetas de la carpeta "Pub" que se muestra en la pantalla de la consola.

Ejemplo 03:

Los dos ejemplos anteriores fueron sobre enumerar los archivos desde el servidor FTP en su consola. Ahora, veremos el uso de la función Python GetFile () de FTP para obtener los archivos del servidor FTP en nuestro sistema local.

Para esto, hemos estado definiendo la función "GetFile" con el objeto "F" y el nombre de archivo. El manejo de excepciones Try-Catch se ha utilizado aquí para abrir el archivo respectivo desde cualquier carpeta del servidor, hacer su copia usando la función "Escribir" y guardarlo en el sistema local utilizando la función "retrbinaria". Si eso no sucede, la parte excepto lanzará una excepción.

Después de esto, la conexión con el servidor se establecería y nos movemos a la carpeta "Pub". La función getFile () se ha llamado tres veces para obtener diferentes archivos cada vez. Por fin, hemos cerrado la conexión a través de la función Quit ().

importar ftplib
Def getFile (f, nombre de archivo):
intentar:
F.retrbinary ("REPR" + FileName, Open (nombre de archivo, 'WB').escribir)
excepto:
Imprimir ("Error")
f = ftplib.Ftp ("ftp.nluug.nl ")
F.Iniciar sesión ("Anónimo", "ftplib-exame-1")
F.CWD ('/pub/')
GetFile (F, 'DB')
GetFile (F, 'Crypto')
GetFile (F, 'Favicon.ICO ')
F.abandonar()

Al ejecutar este programa, tenemos los tres archivos en el sistema local como se muestra.

Conclusión

Este artículo contiene una gran explicación del propósito de usar el servidor FTP en el código de Python: obtenga los archivos en línea en su sistema local. Hemos discutido cómo los archivos del servidor FTP se pueden enumerar en la consola y cómo podemos obtenerlos fácilmente usando las funciones FTP.