Automation and Scripting with Python
Instructor: Microsoft
Beginner Level • 25 hours to complete 3 weeks at 8 hours a week • Flexible Schedule
Skills You'll Gain
File Management
Performance Tuning
Version Control
Scalability
Scripting
Automation
Python Programming
Restful API
Git (Version Control System)
Test Automation
Cloud API
Software Testing
Data Cleansing
Application Programming Interface (API)
Web Scraping
Shareable Certificate
Earn a shareable certificate to add to your LinkedIn profile
Outcomes
-
Learn new concepts from industry experts
-
Gain a foundational understanding of a subject or tool
-
Develop job-relevant skills with hands-on projects
-
Earn a shareable career certificate from Microsoft
There are 5 modules in this course
This module provides a foundational understanding of automation concepts and their relevance in the context of Python programming. Learners will explore the "why" and "how" of automation, its historical evolution, and its impact on modern workplaces. They will learn to identify tasks suitable for automation, analyze their feasibility, and prioritize automation efforts based on impact and business value. The module also covers the essential tools and techniques for setting up a Python development environment for automation, including virtual environments, command line operations, and IDE automation features. By the end of this module, learners will be able to recognize automation opportunities, set up their development environment, and write basic Python scripts executable from the command line.
This module delves into the practical application of Python scripting for automating common tasks, with a focus on file manipulation, data extraction, and web scraping. Learners will gain proficiency in using essential Python modules like os, shutil, and glob to automate file operations, improving efficiency in handling and processing data. They will learn to leverage regular expressions for precise data extraction from unstructured text and explore advanced techniques like NLP and machine learning for more complex data extraction scenarios. Finally, the module introduces web scraping with BeautifulSoup and Scrapy, enabling learners to extract valuable information from websites while adhering to ethical considerations. By the end of this module, learners will be able to write Python scripts to automate file operations, extract data from various sources, and perform basic web scraping tasks.
This module introduces learners to more sophisticated automation techniques, focusing on API interaction, integration with third-party services, and task scheduling. Learners will explore the world of APIs (Application Programming Interfaces), learning how to use Python's requests library to interact with REST APIs, handle authentication, and manage rate limits. They will gain experience integrating their Python scripts with popular third-party services like email providers (using smtplib and imaplib), cloud storage platforms (like Dropbox and OneDrive), and even social media, further expanding their automation capabilities. Finally, the module covers various methods for scheduling automated tasks, including cron jobs (Linux/macOS), Task Scheduler (Windows), and Python's schedule module, empowering learners to automate tasks efficiently and effectively.
This module focuses on optimizing and scaling automation scripts for improved performance and handling larger, more complex tasks. Learners will explore techniques for ensuring script efficiency, including profiling tools like cProfile and line_profiler to identify bottlenecks and optimize code. They will delve into strategies for scaling automation tasks, such as parallel processing with concurrency and multiprocessing, leveraging Scrapy clusters for efficient web scraping, and utilizing cloud platforms like AWS for scalable infrastructure. The module also emphasizes the importance of monitoring and maintaining automation scripts through logging, error alerts, and best practices for code organization and documentation. Finally, learners will be introduced to testing methodologies like unit testing with pytest, integration testing, and end-to-end testing to ensure script reliability and accuracy.
This module focuses on equipping learners with essential Git skills for effective collaboration in a team environment. Building upon a basic understanding of Git, learners will explore intermediate concepts like branching, merging, and conflict resolution, emphasizing their importance in managing code changes and collaborating on automation projects. The module highlights best practices for teamwork, including communication, code reviews, and utilizing platforms like GitHub, GitLab, and Bitbucket for efficient code sharing and version control. Learners will also gain practical experience in showcasing their skills and projects through a well-structured GitHub portfolio, demonstrating their ability to work collaboratively and contribute to a team's success.