Automation with Python
This course teaches Python 3 from the ground up and uses this to automate a variety of tasks. This includes document manipulation, web scraping, sending emails and data processing.
- Duration
- 3 days
- Format
- Instructor-led, in person or live online
What the course covers
Prerequisites
No specific pre-requisites. Previous programming experience an advantage.
Python basics
- The Python environment
- Variables
- Keywords
- Built in functions
- Variable types
Flow Control
- if and elif
- Conditional expressions
- Relational operators
- Boolean operators
- while loops
- Alternate ways to exit a loop
Functions
- Defining a function
- Function parameters
- Global variables
- Variable scope
- Returning values
Lists and Tuples
- About sequences
- Lists
- Tuples
- Indexing and slicing
- Iterating through a sequence
- Functions for all sequences
- Using enumerate
- Operators and keywords for sequences
- The xrange() function
- Nested sequences
- List comprehensions
- Generator expressions
Working with files
- Text file I/O
- Opening a text file
- The with block
- Reading a text file
- Writing to a text file
- "Binary" (raw, or non-delimited) data
Exception handling
- Exceptions
- Handling exceptions with try
- Handling multiple exceptions
- Handling generic exceptions
- Ignoring exceptions
- Using else
- Cleaning up with finally
- re-raising exceptions
- Raising a new exception
- The standard exception hierarchy
Dictionaries and sets
- About dictionaries
- When to use dictionaries
- Creating dictionaries
- Getting dictionary values
- Iterating through a dictionary
- Reading file data into a dictionary
- Counting with dictionaries
- About sets
- Creating sets
- Working with sets
Classes
- Defining classes
- Instance objects
- Instance attributes
- Methods
- __init__
- Properties
- Class data
- Inheritance
- Multiple Inheritance
- Base classes
- Special methods
- Pseudo-private variables
- Static methods
OS Commands
- shutil Module and File Copies
- Deletion
- Walking the tree
- Playing with zip files
- Extracting from zips
- Creating zip files
- The os module
- Scheduling tasks
- Environment variables
- Launching external processes
- Paths, directories, and filenames
- Walking directory trees
- Dates and times
Pattern Matching with Regular Expressions
- Creating regex Objects
- Multiple Matching Groups with |
- zero or one match ?
- zero or more match *
- one or more +
- Repetitions {}
- Greedy Matches & findall
- Character Classes
- Matching Newlines
- Review of regex Symbols
XML and JSON Processing
- Loading XML data
- Traversing document tree
- Searching XML document
- Writing XML output
- Reading and Writing JSON output
Working with Excel
- Working with Excel
- example.xlsx
- Getting Sheets from the Workbook
- Getting Cells from the Sheets
- Getting Rows and Columns from Sheets
- Writing Excel Documents
- Playing with Fonts
- Dimensions
- Merging Cells
Working with PDF & word documents
- Working with .pdf & .docx
- Extracting Text from PDFs
- Rotating PDFs
- Reading Word Documents
- Driving the styles
- Writing Word Documents
Web scraping
- Web Scraping
- webbrowser module
- requests module
- BeautifulSoup
- CSS Selectors
- Finding an Element with the select() Method
- Getting data from an Element’s Attributes
- Controlling your browser with Selenium
Working with CSV and JSON
- Working with CSV and JSON
- Extracting Text from CSV files
- Reader Objects in a for Loop
- Writer Objects
- Delimiters and line terminators
- Reading JSON with loads()
- Writing JSON with the dumps()
- REST APIs and JSON
- REST API returns
Keeping Time, Scheduling Task & Launching Programs
- time Module
- datetime Module
- timedelta
- datetime conversion to strings
- strings to datetime objects
- Threading
Sending Email & text messages
- smtplib Module
- imapclient Module
- pyzmail Module
- Searching Email
- twilio
Networking with Python
- Sockets
- Sending/receiving messages
Course dates
There are no public dates for this course yet. We also run it on request for teams. Contact us to arrange a date.