Python for Networking & Systems Administrators (SysAdmin)

Learn Core Python Scripting for Task Automation and Network Programming

Targeted for network administrators looking to automate administrative tasks across a set of distributed clients Python for Networking / Systems Administrators is an introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules with a focus on network-focused modules such as SSH, Git, and RESTful services. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar.  Students will immediately be able to use Python to complete these types of tasks in the real world.

This course is about 50% hands-on lab to 50% lecture ratio, combining engaging, informed instructor presentations, demonstrations and discussions with extensive machine-based student labs and practical project work.


4 days/32 hours of instruction
Public Classroom Pricing


GSA Price: $1796.25

Group Rate: $2295

Private Group Pricing

Have a group of 5 or more students? Request special pricing for private group training today.

Part 1: An Overview of Python

  1. What is Python?
  2. The Birth of Python
  3. About Interpreted Languages
  4. Advantages & Disadvantages of Python
  5. How to get Python
  6. Which version of Python?
  7. The end of Python 2
  8. Getting Help
  9. One day on Dagobah

Part 2: The Python Environment

  1. Starting Python
  2. If the interpreter is not in your PATH
  3. Using the interpreter
  4. Trying out a few commands
  5. Running Python scripts (explicit & implicit)
  6. Using  pydoc
  7. Python Editors and IDEs

Part 3: Getting Started

  1. Using variables
  2. Keywords and Built ins
  3. Variable typing
  4. Strings
  5. Single-delimited & Triple-delimited string literals
  6. Raw string literals
  7. Unicode characters
  8. String operators and methods
  9. String Methods
  10. Numeric literals
  11. Math operators and expressions
  12. Converting among types
  13. Writing to the screen
  14. String & Legacy String Formatting
  15. Command line parameters
  16. Reading from the keyboard

Part 4: Flow Control

  1. About flow control
  2. What’s with the white space?
  3. if and elif
  4. Conditional Expressions
  5. Relational & Boolean Operators
  6. While loops
  7. Alternate ways to exit a loop

Part 5: Array Types

  1. About Array Types
  2. Lists
  3. Tuples
  4. Indexing and slicing
  5. Iterating through a sequence
  6. Unpacking tuples
  7. Nested sequences
  8. Functions for all sequences
  9. Using enumerate()
  10. Operators and keywords for sequences
  11. The range() function
  12. List comprehensions
  13. Generator Expressions

Part 6: Working with files

  1. Text file I/O
  2. Opening a text file
  3. The with block
  4. Reading a text file & Writing to a text file

Part 7: Dictionaries

  1. About dictionaries
  2. Creating dictionaries
  3. Getting dictionary values
  4. About sets, Creating Sets and Working with Sets

Part 8:  Functions

  1. Defining a function
  2. Returning values
  3. Function parameters
  4. Variable scope

Part 9:  Sorting

  1. Sorting Overview
  2. The sorted() function
  3. Custom sort keys
  4. Lambda functions
  5. Sorting nested data
  6. Sorting dictionaries
  7. Sorting in reverse
  8. Sorting lists in place

Part 10:  Errors and Exception Handling

  1. Syntax errors
  2. Exceptions
  3. Handling exceptions with try
  4. Handling multiple exceptions
  5. Handling generic exceptions
  6. Ignoring exceptions
  7. Using else
  8. Cleaning up with finally

Part 11: Using Modules

  1. What is a module?
  2. Creating Modules
  3. The import statement
  4. Where did __pycache__ come from?
  5. Module search path
  6. Packages
  7. Example
  8. Module Aliases
  9. When the batteries aren’t included

Part 12: An Introduction to Python Classes

  1. About O-O programming
  2. Defining classes
  3. Constructors
  4. Instance methods
  5. Properties
  6. Class methods and data
  7. Static Methods
  8. Private methods
  9. Inheritance
  10. Untangling the nomenclature

Part 13: Regular Expressions

  1. Regular Expressions
  2. RE Syntax Overview
  3. Finding matches 
  4. RE Objects
  5. Compilation Flags
  6. Groups
  7. Special Groups
  8. Replacing text
  9. Replacing with a callback
  10. Splitting a string

Part 14: Network Programming

  1. Grabbing a web page
  2. Consuming Web services
  3. HTTP the easy way
  4. Sending e-mail & Email Attachments
  5. Remote Access
  6. Copying files with Paramiko

Part 15: Sockets

  1. Sockets & Socket Options
  2. Server & Client concepts
  3. Application protocols
  4. Forking servers

Part 16: Multiprogramming

  1. Multiprogramming
  2. What Are Threads?
  3. The Python Thread Manager
  4. The threading Module
  5. Threads for the impatient
  6. Creating a thread class
  7. Variable sharing
  8. Using queues
  9. Debugging threaded Programs
  10. The multiprocessing module
  11. Using pools
  12. Alternatives to multiprogramming

Part 17: Closures

  1. What is a closure and why do I need one?
  2. How can I make one?
  3. Factory Function
  4. Using functools.partial()

Part 18: Serializing Data: XML, XPath, JSON, CSV

  1. About XML
  2. Which module to use?
  3. Getting Started With ElementTree
  4. How ElementTree Works
  5. Elements
  6. Creating, Parsing and Navigating the XML Document 
  7. Navigating the XML Document
  8. Using XPath
  9. About JSON
  10. Reading, Writing and Customizing JSON
  11. CSV Data


  • Advanced users, system administrators and web site administrators who want to use Python to support their server installations
  • Anyone else who wants to automate or simplify common tasks with the use of Python scripts. 

  • Create working Python scripts following best practices
  • Use python data types appropriately
  • Read and write files with both text and binary data
  • Search and replace text with regular expressions
  • Get familiar with the standard library and its work-saving modules
  • Use lesser known but powerful Python data types
  • Create "real-world", professional Python applications
  • Work with dates, times, and calendars
  • Know when to use collections such as lists, dictionaries, and sets
  • Understand Pythonic features such as comprehensions and iterators
  • Write robust code using exception handling
  • Automate network administrative tasks across distributed clients using SSH, REST, and More

A full refund will be issued for class cancellations made at least 10 business days before the course begins. Payment is nonrefundable for cancellations or reschedules made within 10 business days from the course start date and for No Shows (students who do not attend class).  For reschedules made within 10 business days from the course start date, students must reschedule immediately for the same course, up to a maximum of six months from the original date.  A student may only reschedule one time.

Python for Networking & Systems Administrators (SysAdmin) Schedule


Live Online

Jul 24th - 27th, 2023
10:00 AM - 6:00 PM ET
Guaranteed to RunGuaranteed to Run

Live Online

Sep 18th - 21st, 2023
10:00 AM - 6:00 PM ET

Live Online

Nov 28th - Dec 1st, 2023
10:00 AM - 6:00 PM ET

Request Private Group Training