Python for network engineers Training in South Africa

  • Learn via: Classroom
  • Duration: 5 Days
  • Level: Intermediate
  • Price: From €5,196+VAT
We can host this training at your preferred location. Contact us!

This Python course focusses on teaching Python for use in network automation and network DevOps.

We focus on getting delegates up and running with Python and network automation as quickly as possible rather than making them great programmers. In other words we concentrate on enabling delegates to use network automation libraries such as netmiko and NAPALM and APIs such as NETCONF rather than enabling delegates to produce object oriented programs.

Hands on sessions use Cisco and Juniper devices.

TCP/IP foundation for engineers

By the end of the course delegates will be able to:

  • Run Python programs.
  • Read Python programs.
  • Write Python programs.
  • Debug Python programs.
  • Automate network tasks with Python programs.
  • Configure network devices with Python.
  • Collect data from network devices with Python.

What is Python?

Programming languages, Why Python? Python in interactive mode, Python scripts, ipython, Python version 2 versus version 3. A simple Python script. Comments.

Installing Python, Hello world.

A network example

On box vs off box Python. telnet, ssh, NETCONF, HTTP, APIs, manufacturers and API support, analysis of a simple telnetlib program.

Using Python to retrieve the configuration from a network device. Using wireshark to analyse the actions.

Python basics

I/O operators, variables and assignment, types, indentation, loops and conditionals.

Modifying the telnet program, changing configurations on a network devices.

Functions, classes and methods

What are functions, calling functions, builtin functions, useful builtin functions, file handling, classes, objects, creating instances.

Storing configurations in files, configuring devices from files, using an inventory file to work on multiple devices.

Libraries and modules

Modules, files and packages, import, from-import, Python standard library, other packages, pip install, executing other programs. Managing python libraries.

Using pip, installing and using ipaddress, subprocess to access netsnmp. For the more advanced, using the sockets library.

Paramiko and netmiko

SSH, enabling SSH on devices, keys. Paramiko versus netmiko, example scripts. pexpect. Hands on Configuring VLANs from Python.

pySNMP

Gathering facts using previous methods, SNMP review, pySNMP GET, pySNMP and SNMPv3. easySNMP library.

Walking a MIB from Python.

NETCONF

What is NETCONF? Enabling NETCONF on devices, A first ncclient script, device handlers, get_config, edit_config, copy_config, delete_config, commit, validate, pyEZ, utils_config, utils.sw.

Configuration using ncclient and PyEZ. This session is expanded for those interesting in JunOS automation.

Manipulating configuration files

Builtin functions, string handling. Unicode. Sequences, strings, lists, tuples. Dictionaries. TextFSM. Regular expressions. JSON, YAML, XML, YANG, Jinja2, templates. Hands on Jinja2 templating with Python to configure network devices.

NAPALM

Getters, configuration operations, supported devices, NAPALM transport, Config-replace, Config-merge, Compare config, Atomic changes, rollback. Example NAPLAM scripts. Hands on Using NAPALM to gather facts, Using NAPALM for configuration management

REST and RESTCONF

What is REST, HTTP methods, GET, POST, cURL, Postman, Python requests library. RESTCONF, a RESTCONF example.

Modifying a configuration using RESTCONF.

Scapy

What is scapy, Scapy in interactive mode, Scapy as a module.

Packet crafting from Python.

Warning

Errors and exceptions, Exception handling, try, except. Memory management. Garbage collection. Context management, With.

Improving Python code.

Optional

Writing your own functions, Writing your own classes. pyntc.

Writing reusable code.



Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our South Africa facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

20 January 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
€5,196 +VAT
Book Now
14 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
20 January 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
€5,196 +VAT
Book Now
17 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
19 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
14 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
17 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
19 February 2025 (5 Days)
Cape Town, Durban, Johannesburg
Classroom / Virtual Classroom
Python for network engineers Training Course in South Africa

Formerly known as Union of South Africa, now officially known as Republic of South Africa is the Southernmost country in Africa. South Africa's population is over 60 million people, which makes the country the world's 23rd-most populous nation. South Africa has three capital cities: executive Pretoria, judicial Bloemfontein and legislative Cape Town, while the largest city is Johannesburg. The official languages of South Africa are Afrikaans, English, Ndebele, Pedi, Sotho, Swati, Tsonga, Tswana, Venda, Xhosa and Zulu.

South Africa can be rainy from November to February, so the best time to visit South Africa is from May to September. Despite the rainy season South Africa is a year-round destination, with varying regional climates. Blyde River Canyon, Durban, Drakensberg, Kruger National Park and of course, Cape Town are the tourist attractions of the country.

Expand your IT knowledge with our comprehensive range of courses, including programming, software development, business skills, data science, cybersecurity, cloud computing and virtualization. Our skilled instructors will facilitate hands-on training and share practical insights, all conveniently conducted at your preferred location within South Africa.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.