网络自动化
网络自动化,通过工具实现网络自动化地部署、运行和运维,逐步减少对“人”的依赖。这能够很好地解决传统网络运维的问题。
业界有很多实现网络自动化的开源工具,例如Ansible、SaltStack、Puppet、Chef等。从网络工程能力构建的角度考虑,更推荐工程师具备代码编程能力。
基于编程实现的网络自动化
近年随着网络自动化技术的兴起,以Python为主的编程能力成为了网络工程师的新技能要求。
Python编写的自动化脚本能够很好的执行重复、耗时、有规则的操作。
编程语言
编程语言(Programming Language),是一种用于编写计算机程序的语言,用于控制计算机的行为。
按照语言在执行之前是否需要编译区分,可以将编程语言分为需要编译的编译型语言(Compiled Language),不需要编译的解释型语言(Interpreted Language) 。
计算技术栈与程序执行过程
高级编程语言- 编译型语言
编译型语言:编译型语言的程序在执行之前有一个编译过程,把程序编译成为机器语言的文件。运行时不需要重新翻译,直接使用编译的结果。典型的如C/C++/Go语言,都属于编译型语言。
从源码到程序的过程:源码需要由编译器、汇编器翻译成机器指令,再通过链接器链接库函数生成机器语言程序。机器语言必须与CPU的指令集匹配,在运行时通过加载器加载到内存,由CPU执行指令。
高级编程语言- 解释型语言
解释型语言:解释型语言的程序不需要在运行前编译,在运行程序的时候才逐行翻译。典型的如Java/Python语言,都属于解释型语言。
从源码到程序的过程:解释型语言的源代码由编译器生成字节码,然后再由虚拟机(JVM/PVM)解释执行。虚拟机将不同CPU指令集的差异屏蔽,因此解释型语言的可移植性相对较好。
什么是Python?
Python是一门完全开源的高级编程语言。它的作者是Guido Van Rossum。
Python的优点: Python拥有优雅的语法、动态类型具有解释性质。能够让学习者从语法细节的学习中抽离,专注于程序逻辑。 Python同时支持面向过程和面向对象的编程。 Python拥有丰富的第三方库。 Python可以调用其他语言所写的代码,又被称为胶水语言。 | Python的缺点: 运行速度慢。Python是解释型语言,不需要编译即可运行。代码在运行时会逐行地翻译成CPU能理解的机器码,这个翻译过程非常耗时。 |
由于Python具有非常丰富的第三方库,加上Python语言本身的优点,所以Python可以在非常多的领域内使用:人工智能、数据科学、APP、自动化运维脚本等。
Python代码执行过程
Python程序编译运行的过 | 操作过程 1、在操作系统上安装Python和运行环境。 2、编写Python源码。 3、编译器运行Python源码,编译生成pyc文件(字节码)。 4、Python虚拟机将字节码转换为机器语言。 5、硬件执行机器语言。 |
初识Python代码- 交互式运行
Python有两种运行方式,交互式运行和脚本式运行。
交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式编写代码。
初识Python代码- 脚本式运行
脚本模式里的代码可以在各种Python编译器或者集成开发环境上运行。例如Python自带的IDLE、Atom、Visual Studio、Pycharm和Anaconda等。
Python编码规范
编码规范是使用Python编写代码时应遵守的命名规则、代码缩进、代码和语句分割方式等。良好的编码规范有助于提高代码的可读性,便于代码的维护和修改。
例如分号、圆括号、空行和空格的使用规范建议如下:
Python编码规范- 标识符命名
Python标识符用于表示常量、变量、函数以及其他对象的名称。
标识符通常由字母、数字和下划线组成,但不能以数字开头。标识符大小写敏感,不允许重名。如果标识符不符合规则,编译器运行代码时会输出SyntaxError语法错误。
Python编码规范- 代码缩进
在Python程序中,代码缩进代表代码块的作用域。如果一个代码块包含两个或更多的语句,则这些语句必须具有相同的缩进量。对于Python而言代码缩进是一种语法规则,它使用代码缩进和冒号来区分代码之间的层次。
编写代码时候,建议使用4个空格来生成缩进。如果程序代码中使用了错误的缩进,则会在运行中发出IndentationError错误信息。
Python编码规范- 使用注释
注释就是在程序中添加解释说明,能够增强程序的可读性。在Python程序中,注释分为单行注释和多行注释。
单行注释以 # 字符开始直到行尾结束。
多行注释内容可以包含多行,这些内容包含在一对三引号内(’’’…’’’或者”””…”””)。
Python编码规范- 源码文件结构
一个完整的Python源码文件一般包含几个组成部分:解释器和编码格式声明、文档字符串、模块导入和运行代码。
如果会在程序中调用标准库或其他第三方库的类时,需要先使用import或from… import语句导入相关的模块。导入语句始终在文件的顶部。在模块注释或文档字符串(docstring)之后。
Python的函数与模块
函数(Function)是组织好的、可重复使用的一段代码。它能够提高程序的模块化程度和代码利用率。函数使用关键字 def 定义。
模块(Module)是一个保存好的Python文件。模块可以由函数或者类组成。模块和常规Python程序之间的唯一区别是用途不同:模块用于被其他程序调用。因此,模块通常没有main函数。
Python的类与方法
类(Class)是用来描述具有一类相同的属性和方法的集合。类的定义使用关键字 class。
被实例化的类的”函数”被称作方法(Method)。类定义方法时候必须携带 self 关键字,它表示类的实例本身。
telnetlib介绍
telnetlib是Python标准库中的模块。它提供了实现Telnet功能的类telnetlib.Telnet。
这里通过调用telnetlib.Telnet类里的不同方法实现不同功能。
导入telnetlib模块Telnet类 -- Telnet连接到指定服务器上 -- 调用read_all()方法 -- | from telnetlib import Telnet tn = Telnet(host=None, port=0[, timeout]) tn.read_all() … |
网络自动化是通过工具实现网络自动化的部署、运行和运维,逐步减少对“人”的依赖。可以通过编程语言或者工具实现。
Python是一门完全开源的高级编程语言,语法简单,容易学习。拥有丰富的标准库和第三方库,适用于网络工程领域。
Python的telnetlib模块提供了实现Telnet功能的类telnetlib.Telnet。可以让您初窥网络编程与自动化世界!
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除