Banner

Python programming for Network Administrators

Live Classroom
Duration: 4 days
Live Virtual Classroom
Duration: 4 days
Pattern figure

Overview

The Python programming for Network Administrators course is designed for network/system administrators, with an aim to equip them with the necessary skills and knowledge to leverage automation in network administrative tasks. The course covers the fundamentals of writing and executing Python scripts, as well as the usage of more advanced features like file operations, regular expressions, and working with binary data. The course explores the vast functionalities of Python modules, focusing on modules like Git, SSH and RESTful services. With this course, participants will be have a hands-on experience with Python, helping build a strong foundational understanding to eventually help practical application of concepts learnt, in the field of automation and network administration.

What You'll Learn

  • Write executable Python scripts based on effective practices
  • Use Python data types optimally
  • Reading and writing files using text as well as binary data
  • Standard library and work-saving modules
  • Using collections such as lists, dictionaries, and sets appropriately
  • Features of Python like comprehensions and iterators
  • Searching and replacing text with regular expressions
  • Leveraging powerful Python data types
  • Build real-world, enterprise-centric Python applications
  • Work with dates, times, and calendars
  • Writing strong code using exception handling

Curriculum

  • 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

  • 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

  • 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

  • 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

  • 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

  • Text file I/O
  • Opening a text file
  • The with block
  • Reading a text file
  • Writing to a text file

  • 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

  • Defining a function
  • Returning values
  • Function parameters
  • Variable scope

  • Sorting Overview
  • The sorted() function
  • Custom sort keys
  • Lambda functions
  • Sorting nested data
  • Sorting dictionaries
  • Sorting in reverse
  • Sorting lists in place

  • Syntax errors
  • Exceptions
  • Handling exceptions with try
  • Handling multiple exceptions
  • Handling generic exceptions
  • Ignoring exceptions
  • Using else
  • Cleaning up with finally

  • 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

  • About O-O programming
  • Defining classes
  • Constructors
  • Instance methods
  • Properties
  • Class methods and data
  • Static Methods
  • Private methods
  • Inheritance
  • Untangling the nomenclature

  • Regular Expressions
  • RE Syntax Overview
  • Finding matches
  • RE Objects
  • Compilation Flags
  • Groups
  • Special Groups
  • Replacing text
  • Replacing with a callback
  • Splitting a string

  • Grabbing a web page
  • Consuming Web services
  • HTTP the easy way
  • sending e-mail
  • Email attachments
  • Remote Access
  • Copying files with Paramiko

  • Sockets
  • Socket options
  • Server concepts
  • Client concepts
  • Application protocols
  • Forking servers

  • 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

  • What is a closure?
  • Why do I need one?
  • How can I make one?
  • Factory Function
  • Using functools.partial()

  • 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
waves
Ripple wave

Who should attend

The course is highly recommended for –

  • System administrators
  • Network administrators

Prerequisites

There are no mandatory prerequisites for this course. However, having basic understanding of the network administration tasks would be highly beneficial.

Interested in this Course?

    Ready to recode your DNA for GenAI?
    Discover how Cognixia can help.

    Get in Touch
    Pattern figure
    Ripple wave