Leestijd : 0 minuten

Procesautomatisering met Python

In dit artikel delen we de ervaring met het configureren van een FTP-server.

Op basis van ons onderzoek hebben we besloten om Python te gebruiken voor de backend. We hadden nooit eerder ervaring opgedaan met python. Dus, om te beginnen hebben we het initiële installatieproces voor python voltooid. Daarna onderzochten we hoe we de code konden ontwikkelen om bestanden van de ene FTP-server naar de andere over te zetten. We hebben nooit een vooraf ontwikkelde code voor onze vereisten gevonden. Na dagen van onderzoek realiseerden we ons dat het niet zo eenvoudig was om bestanden direct over te zetten tussen twee FTP-servers. Toen hebben we een omweg gevonden. We hebben alle bestanden van de bron FTP server (Source server) verplaatst naar een lokale server en vervolgens alle bestanden van de lokale naar de eind FTP server (Destination Server) verplaatst.

  Ontwikkeling van softwaretoepassingen

Bestandsoverdracht tussen FTP-servers

Lijst van FTP-serverprogramma’s

Lijst met hulpmiddelen die we gebruiken om onze taak uit te voeren. Enkele van de bibliotheekbestanden zijn ftplib, os, sys, shutil, xrld en datetime.

  • ftplib bibliotheek werd gebruikt om bestanden te downloaden en uploaden naar een FTP-server.
  • os en sys bibliotheekbestanden werden gebruikt om de bestanden op de lokale server te lezen, te schrijven en op te sommen.
  • Eerst hebben we alle bestanden gedownload van de FTP-server van de bron. Met onderstaande code hebben we alle bestanden gedownload.

Codefragment:

ftp.retrbinary(“RETR ” + bestand, open(os.path.join(destination + path, bestand),”wb”).write). De bovenstaande code haalt bestanden op en schrijft ze naar een bepaald pad op de lokale server.Vervolgens wordt deze code ftp.storbinary(‘STOR %s’ % i, open(os.path.join(FileSend,i), “rb”) gebruikt om bestanden te uploaden van de lokale server naar de FTP-server.

In eerste instantie ontwikkelden we een code om bestanden te downloaden en uploaden naar de FTP-server, één bestand per overdracht. Maar we moesten dynamisch meerdere bestanden downloaden en uploaden van verschillende FTP-servers. Om de zaken te vereenvoudigen zijn we begonnen met het maken van excel sheets om de referenties en het bestandspad van FTP-servers bij te houden.

  • Xlrd: Via dit bibliotheekbestand konden we alle details uit excel lezen en tegelijkertijd verbinding maken met verschillende FTP-servers.

Uiteindelijk konden we bestanden tegelijk downloaden en uploaden naar verschillende FTP-servers.

Vervolgens probeerden we een aantal eenvoudige zip/unzip-, verwijder- en logbewerkingen uit te voeren in FTP en op de lokale server. Dit was mogelijk met shutil, zipfile, log en datetime bibliotheekbestanden. Enkele van de operationele basisgegevens van deze bibliotheekbestanden zijn:

  1. zipfile – Gebruikt om een bestand te archiveren
  2. shutil – Gebruikt om een bestand te verwijderen
  3. datetime – Wordt gebruikt om de naam van bestanden te hernoemen met datum en tijd.
  4. log – Wordt gebruikt om een logbestand aan te maken.

Automatiseringsonderdeel:

Met behulp van de bovenstaande bibliotheekbestanden en het codefragment konden we dit proces bereiken. De volgende stap is om dit hele proces te automatiseren. Dus gebruikten we Windows task manager om het ftp-proces te automatiseren door het op gezette tijden in te plannen.

Samenvatting :

Eindelijk waren we in staat om taken zoals het overzetten, verwijderen, archiveren en hernoemen van bestanden op een FTP-server uit te voeren met behulp van python. Uit mijn ervaring blijkt dat Python een zeer flexibele en gebruiksvriendelijke taal is. Met behulp van eenvoudige bibliotheekbestanden kon ik de bovenstaande taken snel voltooien. Maar sommige fouten, zoals spatiefouten, waren een beetje vervelend en het duurde even voordat we erachter waren. Maar met de hulp van mijn team heb ik deze hele taak tot een goed einde kunnen brengen.

Keerthi Veerappan

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

Deel deze blog, kies uw platform!

Leave A Comment

gerelateerde berichten