Reading Time: 5 mins

Automatisation des processus à l’aide de Python

Société de développement d'applications logicielles

Automatisation des processus à l’aide de Python

Dans cet article, nous partagerons l’expérience de la configuration d’un serveur FTP.

Selon nos recherches, nous avons décidé d’utiliser python pour le backend. Nous n’avons jamais eu d’expérience préalable en python. Donc, pour commencer, nous avons terminé le processus d’installation initial de python. Ensuite, nous avons exploré les moyens de développer le code pour transférer des fichiers d’un serveur FTP à un autre. Nous n’avons jamais trouvé de code pré-développé pour notre besoin. Après des jours d’exploration, nous avons réalisé qu’il n’était pas si simple de transférer directement des fichiers entre deux serveurs FTP. Ensuite, nous avons fait une solution de contournement. Nous avons déplacé tous les fichiers du serveur FTP source (serveur source) vers un serveur local, puis transféré tous les fichiers du serveur FTP local vers le serveur FTP final (serveur de destination).

 Développement d'applications logicielles

Transfert de fichiers entre serveurs FTP

Liste des outils du serveur FTP

Liste des outils utilisés pour accomplir notre tâche. Certains des fichiers de la bibliothèque sont ftplib, os, sys, shutdown, xrld et datetime.

  • La bibliothèque ftplib a été utilisée pour télécharger et télécharger des fichiers sur le serveur FTP.
  • Les fichiers de bibliothèque os et sys ont été utilisés pour lire, écrire et répertorier les fichiers sur le serveur local.
  • Tout d’abord, nous avons téléchargé tous les fichiers du serveur FTP source. En utilisant le code ci-dessous, nous avons téléchargé tous les fichiers.

Extrait de code:

ftp.retrbinary(“RETR ” + fichier, ouvre(os.path.join(destination + chemin, fichier),”wb”).write). Le code ci-dessus récupère et écrit des fichiers dans le chemin particulier du serveur local. Ensuite, ce code ftp.storbinary(‘STOR %s’ % i, open(os.path.join(FileSend,i), “rb”)) utilisé pour télécharger des fichiers du serveur local vers le serveur FTP.

Initialement, nous avons développé un code pour télécharger et envoyer des fichiers sur le serveur FTP un fichier par transfert. Mais nous avons dû télécharger et télécharger dynamiquement plusieurs fichiers à partir de différents serveurs FTP. Pour simplifier les choses, nous avons commencé à créer des feuilles Excel pour conserver les informations d’identification et le chemin d’accès aux fichiers des serveurs FTP.

  • Xlrd : Grâce à ce fichier de bibliothèque, nous avons pu lire tous les détails de la feuille Excel et connecter simultanément différents serveurs FTP.

Enfin, nous avons pu télécharger et télécharger des fichiers sur différents serveurs FTP à la fois.

Ensuite, nous avons essayé d’effectuer des opérations de base de compression/décompression de fichiers, de suppression et de journalisation sur FTP et sur un serveur local. Cela a été possible en utilisant les fichiers de bibliothèque shutdown, zipfile, log et datetime. Certains des détails opérationnels de base de ces fichiers de bibliothèque sont :

  1. zipfile — Utilisé pour archiver le fichier
  2. shutdown — Utilisé pour supprimer un fichier
  3. datetime — Utilisé pour renommer le nom des fichiers avec la date et l’heure.
  4. log — Utilisé pour créer un fichier journal.

Partie automatisation :

En utilisant les fichiers de bibliothèque et l’extrait de code ci-dessus, nous avons pu réaliser ce processus. La prochaine étape consiste à automatiser l’ensemble de ce processus. Nous avons donc utilisé le gestionnaire de tâches Windows pour automatiser le processus ftp en le planifiant à intervalles réguliers.

Sommaire :

Enfin, nous avons pu effectuer des tâches telles que transférer, supprimer, archiver et renommer les fichiers sur un serveur FTP en utilisant python. D’après mon expérience, Python est un langage très flexible et convivial. En utilisant des fichiers de bibliothèque simples, j’ai pu effectuer rapidement les tâches ci-dessus. Mais certaines erreurs comme l’erreur d’espace étaient peu ennuyeuses et nous ont pris un certain temps pour le comprendre. Mais avec l’aide de mon équipe, j’ai pu accomplir toute cette tâche avec succès.

Keerthi Veerappan

An INFJ personality wielding brevity in speech and writing. Marketer @ Zucisystems.