Python for Networking & Systems Administration (TTPS4824)

Geared for network administrators looking to automate administrative tasks across a set of distributed clients, this course is an introductory and beyond-level practical, hands-on Python course that leads you 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.

Skip to Available Dates

Learning Objectives

This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom.

  • Working within in an engaging, hands-on learning environment, guided by our expert instructor, students will learn to:
  • 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

     

    Course Details

    Course Outline

    1 - An Overview of Python
  • What is Python?
  • The Birth of Python.
  • About Interpreted Languages
  • Advantages of Python
  • Disadvantages of Python
  • How to get Python
  • Which version of Python?
  • The end of Python 2
  • Getting Help
  • One day on Dagobah
  • 2 - The Python Environment
  • Starting Python
  • If the interpreter is not in your PATH
  • Using the interpreter
  • Trying out a few commands
  • Running Python scripts (explicit)
  • Running Python scripts (implicit)
  • Using pydoc
  • Python Editors and IDEs
  • 3 - Getting Started
  • Using variables
  • Keywords and Builtins
  • Variable typing
  • Strings
  • Single-delimited string literals
  • Triple-delimited string literals
  • Raw string literals
  • Unicode characters
  • String operators and methods
  • String Methods
  • Numeric literals
  • Math operators and expressions
  • Converting among types
  • Writing to the screen
  • String Formatting
  • Legacy String Formatting
  • Command line parameters
  • Reading from the keyboard
  • 4 - Flow Control
  • About flow control
  • What’s with the white space?
  • if and elif
  • Conditional Expressions
  • Relational Operators
  • Boolean operators
  • while loops
  • Alternate ways to exit a loop
  • 5 - Array types
  • About Array Types
  • Lists
  • Tuples
  • Indexing and slicing
  • Iterating through a sequence
  • Unpacking tuples
  • Nested sequences
  • Functions for all sequences
  • Using enumerate()
  • Operators and keywords for sequences
  • The range() function
  • List comprehensions
  • Generator Expressions
  • 6 - Working with Files
  • Text file I/O
  • Opening a text file
  • The with block
  • Reading a text file
  • Writing to a text file
  • 8 - Dictionaries
  • 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
  • 9 - Functions
  • Defining a function
  • Returning values
  • Function parameters
  • Variable scope
  • 10 - Sorting
  • Sorting Overview
  • The sorted() function
  • Custom sort keys
  • Lambda functions
  • Sorting nested data
  • Sorting dictionaries
  • Sorting in reverse
  • Sorting lists in place
  • 11 - Errors and Exception Handling
  • Syntax errors
  • Exceptions
  • Handling exceptions with try
  • Handling multiple exceptions
  • Handling generic exceptions
  • Ignoring exceptions
  • Using else
  • Cleaning up with finally
  • 12 - Using Modules
  • What is a module?
  • Creating Modules
  • The import statement
  • Where did __pycache__ come from?
  • Module search path
  • Packages
  • Example
  • Module Aliases
  • When the batteries aren’t included
  • 13 - An Introduction to Python Classes
  • About O-O programming
  • Defining classes
  • Constructors
  • Instance methods
  • Properties
  • Class methods and data
  • Static Methods
  • Private methods
  • Inheritance
  • Untangling the nomenclature
  • 14 - Regular Expressions
  • Regular Expressions
  • RE Syntax Overview
  • Finding matches
  • RE Objects
  • Compilation Flags
  • Groups
  • Special Groups
  • Replacing text
  • Replacing with a callback
  • Splitting a string
  • 15 - Network Programming
  • Grabbing a web page
  • Consuming Web services
  • HTTP the easy way
  • sending e-mail
  • Email attachments
  • Remote Access
  • Copying files with Paramiko
  • 16 - Sockets
  • Sockets
  • Socket options
  • Server concepts
  • Client concepts
  • Application protocols
  • Forking servers
  • 17 - Multiprogramming
  • Multiprogramming
  • What Are Threads?
  • The Python Thread Manager
  • The threading Module
  • Threads for the impatient
  • Creating a thread class
  • Variable sharing
  • Using queues
  • Debugging threaded Programs
  • The multiprocessing module
  • Using pools
  • Alternatives to multiprogramming
  • 18 - Efficient Scripting
  • Running external programs
  • Parsing arguments
  • Creating filters to read text files
  • Logging
  • 19 - Serializing Data: XML, XPath, JSON, CSV
  • About XML
  • Normal Approaches to XML
  • Which module to use?
  • Getting Started With ElementTree
  • How ElementTree Works
  • Elements
  • Creating a New XML Document
  • Parsing An XML Document
  • Navigating the XML Document
  • Using XPath
  • About JSON
  • Reading JSON
  • Writing JSON
  • Customizing JSON
  • Reading CSV data
  • Nonstandard CSV
  • Using csv.DictReader
  • Writing CSV Data
  • Pickle
  • Actual course outline may vary depending on offering center. Contact your sales representative for more information.

    Who is it For?

    Target Audience

    This introductory-level Python course is appropriate for advanced users, system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.

    Other Prerequisites

    This introductory-level Python course is appropriate for advanced users, system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Students should have basic development experience in any programming language, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows.

    Python for Networking & Systems Administration (TTPS4824)

    €2,395
    Course Length : 4 Days
     

    1. Choose a Date | 2. Click Enroll Now

    Need Help Picking the Right Course? Give us a call! +359 2 421 0040