Keerthika
Lead Marketing Strategist

An INFJ personality wielding brevity in speech and writing.

Reading Time : 0 Mins

Process Automation using Python

Keerthika
Lead Marketing Strategist

An INFJ personality wielding brevity in speech and writing.

In this article, we will be sharing the experience of configuring a FTP Server.

As per our research, we decided to use python for backend. We never had any previous experience in python. So, to start with things, we completed the initial installation process for python. Then we explored ways to develop the code to transfer files from one FTP Server to another. We never found any pre-developed code for our requirement. After days of exploration we realized that it was not that easy to transfer files between two FTP Server directly. Then we did a workaround. We moved all files from the source FTP server (Source server) to a local server and then transfer all files from the local to the end FTP server (Destination Server).

 Software Applications Development

Files transfer between FTP servers

List of FTP Server Tools

List of tools used to accomplish our task. Some of the library files are ftplib, os, sys, shutil, xrld and datetime.

  • ftplib library was used to download and upload files to FTP Server.
  • os and sys library files were used to read, w rite, list the files in local server.
  • Firstly, we downloaded all files from the source FTP Server. Using below code we downloaded all files.

Code snippet:

ftp.retrbinary(“RETR “ + file, open(os.path.join(destination + path, file),”wb”).write). The above code retrieves and writes files in particular path of local server.Then, this code ftp.storbinary(‘STOR %s’ % i, open(os.path.join(FileSend,i), “rb”)) used to upload files from local server to FTP Server.

Initially, we developed a code to download and upload files to the FTP server one file per transfer. But we faced a requirement to dynamically download and upload multiple files from different FTP servers. To simplify things we started to create excel sheets to maintain credentials and file path of FTP servers.

  • Xlrd: Through this library file we were able to read all details from excel sheet and simultaneously connect different FTP servers.

Finally, we were able to download and upload files to different FTP server at a time.

Then, we were trying to perform some basic file zip/unzip, delete, log operations in FTP and local server. This was possible using shutil, zipfile, log and datetime library files. Some of the basic operational details of these library files are:

  1. zipfile — Used to archive file
  2. shutil — Used to delete file
  3. datetime — Used to rename files name with date and time.
  4. log — Used to create log file.

Automation Part:

Using the above library files and code snippet we were able to achieve this process. The next step is to automate this entire process. So, we used windows task manager to automate the ftp process by scheduling it at time intervals.

Summary :

At last, we were able to complete tasks like transfer, delete, archive and rename the files on a FTP Server using python. From my experience Python is a very flexible and user-friendly language. Using simple library files I was able to complete the above tasks quickly. But some errors like space error was little annoying and took us some time to figure it out. But with the help of my team I was able to accomplish this entire task successfully.

Leave A Comment

Related Posts

Content Writer

Kavya Ravichandran is a skilled content writer with a flair for crafting narratives that educate and engage. Driven by a love for words and an innate curiosity, she explores various topics in the digital space, focusing on application development and modernization, UI/UX design, and emerging technologies like DevOps, AI, and more. She is adept at tailoring her narratives to suit different audiences and platforms, ensuring her work is both relevant and insightful.

Lead - Business Analyst

Pavithra Anandan is a solution driven IT specialist with over 12 years of experience, including 7 years in manual and automation testing and 5 years as a Business Analyst. She excels in understanding customer business needs and translating them into actionable requirements. Proficient in Agile methodology, she is adept at requirements gathering, epic and user story development, backlog management, and fostering collaboration with cross-functional teams. Her consulting experience spans various industries, including Postal, E-commerce, Automotive, and Airline sectors. Currently, as a Product Owner at Zuci, she focuses on advancing postal logistics by enhancing operational efficiency and driving customer satisfaction through innovative delivery solutions

Content Writer

Minna is a content developer specializing in software testing and Robotic Process Automation (RPA). She enjoys exploring the intricacies of cutting-edge software and knits comprehensible content that resonates with the audience. PS, she is a book lover.

Content Writer

Kavya Ravichandran is a skilled content writer with a flair for crafting narratives that educate and engage. Driven by a love for words and an innate curiosity, she explores various topics in the digital space, focusing on application development and modernization, UI/UX design, and emerging technologies like DevOps, AI, and more. She is adept at tailoring her narratives to suit different audiences and platforms, ensuring her work is both relevant and insightful.

Senior Manager - Cloud & Infrastructure

An experienced and adaptable IT leader, Gopalakrishna Raju boasts over 18.5 years of expertise in service delivery management, project management, and database administration. A strong advocate for continuous service improvement and automation, he strives to bring productivity and cost benefits for clients. Certified in Oracle, AWS, and Microsoft Azure, he has received numerous accolades, including the Top Achiever FY23 Spot Award at Zensar and multiple awards at Wipro. When not busy setting up operational models, and delivering successful outcomes, he enjoys playing badminton and cricket.

Delivery Manager - Business Intelligence & Analytics

Simran is a professional with over 18 years of diversified experience in business intelligence and data analytics, strategy planning, key account management and new product development. She has worked in the technology industry, consumer goods industry, retail and market research.

Lead - Business Analyst

Gayathri Krishnan is a seasoned IT professional with over 15 years of experience, spanning 4 years in manual testing and 9+ years as a business analyst in the General Insurance and Logistics sectors. With more than 2 years as a delivery lead, she has a proven ability to manage end-to-end project lifecycles and transform business requirements into effective solutions. Her expertise covers multiple lines of business within general insurance, including Motor, Health, Personal Accident, Fire, Marine, Engineering, and Rural insurance. Skilled in Agile methodologies, Gayathri excels in requirements gathering, backlog management, client engagement, and leading cross-functional teams. As a Product Owner at Zuci, Gayathri specializes in aligning business and technical requirements to enhance operational efficiency in postal logistics services.

Senior Business Analyst

Sona Jayakumar is a Senior Business Analyst with three years of experience in the ESG (Environmental, Social, and Governance) and Healthcare sectors. She specializes in digital transformation and process optimization, focusing on aligning business strategies with innovative solutions. Her expertise in stakeholder management and cross-functional collaboration has consistently delivered impactful results and improved operational efficiency.

Content Writer

Minna is a content developer specializing in software testing and Robotic Process Automation (RPA). She enjoys exploring the intricacies of cutting-edge software and knits comprehensible content that resonates with the audience. PS, she is a book lover.

Content Writer

Minna is a content developer specializing in software testing and Robotic Process Automation (RPA). She enjoys exploring the intricacies of cutting-edge software and knits comprehensible content that resonates with the audience. PS, she is a book lover.

Lead Business Analyst

Rama Jayaraman is a Certified Public Accountant (USA), CA (Intermediate) and Commerce graduate. She is certified in Professional Scrum Master I and has working knowledge of multiple tools like Tableau, Power BI, Smartsheet, Azure Devops and multiple other Microsoft tools. She is a Seasoned Professional with 8+ years of experience with a proven track record in Project Management and Risk Management through a solution-oriented approach. She has managed and lead key projects in the areas of Automation, Analytics, Auditing, Financial Reporting and Internal Control. She has worked for companies like KPMG, Maersk and Standard Chartered Bank. Currently supporting The Officer of Inspector General (The Global Fund) as part of the Zuci family. She is a trained singer who has participated and won competitions. During her spare time, she has also volunteered as a coach and conducted swimming classes for the underprivileged and visually challenged.

Senior Marketing Executive

Ameena Siddiqa is a seasoned marketer with hands-on experience in curating captivating content on the latest cloud, devops and enterprise technology trends. With a keen eye for emerging trends and a passion for storytelling, she has a knack for transforming complex concepts into engaging narratives that resonate with audiences across industries.

Lead Marketing Strategist

A web-analytics nerd, speaker - here delving into (Big)-data.

Lead Marketing Strategist

A web-analytics nerd, speaker - here delving into (Big)-data.

Content Writer

Minna is a content developer specializing in software testing and Robotic Process Automation (RPA). She enjoys exploring the intricacies of cutting-edge software and knits comprehensible content that resonates with the audience. PS, she is a book lover.

Lead Business Analyst

Rajalakshmi Sivaramakrishnan is a Lead Business Analyst with 17 years of experience in various fields, including Business Analysis, Identity Access Management, Requirement Engineering, and Business Intelligence. She excels in automating processes, aligning business and technology, and has domain expertise in retail banking and capital markets.