目录
一、Python编码规范:
1.1 符号:
1.2 注释:
1.3 代码缩进:很重要
二、Python的函数与模块
三、Python的类与方法
3.1 类
3.2 telnetlib介绍(即telnet模块)
实现过程分为四个步骤:
1.使用华为的ensp创建一个telnet设备,创建用户密码及开启telnet 服务
2.手动telnet登录,验证telnet设备可以登录
3.编写Python代码
4.验证结果
Python具有丰富的第三方库,可以黏贴粘连各种语言
缺点:运行速度慢,是解释型语言,代码在运行是会逐行翻译成CPU能理解的机器码,这个翻译过程非常耗时。
工具软件:没有python基础选择安装Anaconda,或者安装Pycharm
Python 官网:https://www.python.org/ (解释器)
Pycharm 官网:https://www.jetbrains.com/pycharm/ (编辑器)
安装好Anaconda,然后打开jupyter,在浏览器打开主界面,点击new即可创建项目
Jupyter再次打开时偶尔需要密码(不同端口打开时),此时可以通过 cmd 执行命令获取密码(一般只需输入一次就可以)
当某段代码执行出错时 可以终止 *号表示代码正在运行
一、Python编码规范:
1.1 符号:
- 分号:Python程序允许尾行添加分号,但是不建议使用分号隔离语句,建议每条一行。
- 空行:不同的函数或者语句块之间可以使用空行来分割,用以区分两段代码,提高代码可读性。
- 圆括号:圆括号可用于长语句的续航,一般不使用不必要的括号
- 空格:不建议在括号内使用空格,对于运算符可以按照个人习惯决定是否在两侧加空格
1.2 注释:
- 单行注释以 # 字符开始直到行尾结束。
- 多行注释内容可以包含多行,这些内容包含在一对三引号内(’’’…’’’或者”””…”””)。
1.3 代码缩进:很重要
•在Python程序中,代码缩进代表代码块的作用域。如果一个代码块包含两个或更多的语句,则这些语句必须具有相同的缩进量。对于Python而言代码缩进是一种语法规则,它使用代码缩进和冒号来区分代码之间的层次。
•编写代码时候,建议使用4个空格来生成缩进。如果程序代码中使用了错误的缩进,则会在运行中发出IndentationError错误信息。
print如果与if 齐平,就是不管if什么东西,都是直接print,所以层次关系很重要
1.4 编码文件结构
- 一个完整的Python源码文件一般包含几个组成部分:解释器和编码格式声明、文档字符串、模块导入和运行代码。
- 如果会在程序中调用标准库或其他第三方库的类时,需要先使用import或from… import语句导入相关的模块。导入语句始终在文件的顶部。在模块注释或文档字符串(docstring)之后。
导入时间模块例子:
二、Python的函数与模块
函数(Function)是组织好的,可以重复使用的一段代码,能够提高代码模块化程度和代码利用率
函数使用关键字def定义
模块(Module)是一个保存好的Python文件。模块可以由函数或者类组成,模块与其他常规程序的不同是模块用于被其他程序调用。
三、Python的类与方法
3.1 类
- 类(Class)是用来描述具有一类相同的属性和方法的集合。类的定义使用关键字 class。
- 被实例化的类的”函数”被称作方法(Method)。类定义方法时候必须携带self 关键字,它表示类的实例本身。
3.2 telnetlib介绍(即telnet模块)
- telnetlib是Python标准库中的模块。它提供了实现Telnet功能的类telnetlib.Telnet。
- 这里通过调用telnetlib.Telnet类里的不同方法实现不同功能。
实现过程分为四个步骤:
- 配置设备Telnet服务。
- 手动验证和查看Telnet登录步骤,作为代码实现的参考。
- 编写和运行Python代码。如果需要登录很多台直接for循环
- 验证结果。
1.使用华为的ensp创建一个telnet设备,创建用户密码及开启telnet 服务
[Huawei] interface ethe 1/0/0
[Huawei -ethernet0/0/0] ip add 192.168.1.10 24
[Huawei -ethernet0/0/0] quit
[Huawei]user-interface vty 0 4
[Huawei-ui-vty0-4]authentication-mode aaa
[Huawei-ui-vty0-4]q
[Huawei]aaa
[Huawei-aaa]local-user
[Huawei]aaa
[Huawei-aaa]local-user aa privilege level 3 password cipher 123
[Huawei-aaa]local-user aa service-type telnet
2.手动telnet登录,验证telnet设备可以登录
3.编写Python代码
#telnet 登录一台设备
import telnetlib
import time
host = "213.234.1.1"
user = "aa"
password = "123"
tn = telnetlib.Telnet(host)
tn.read_until(b"Username:") #login:
tn.write(user.encode("ascii")+b"\n") #encode函数的作用是指定编码格式
tn.read_until(b"Password:")
tn.write(password.encode("ascii")+b"\n")
print("欢迎登录"+host)
#写入命令区域
tn.write(b"con\n")
tn.write(b"int gigabit0/0/0\n")
tn.write(b"ip address 213.234.1.10\n")
tn.write(b"quit\n")
tn.write(b"save\n")
time.sleep(2) #调用时间模块 等待2s
output = (tn.read_very_eager().decode("ascii")) #输出结果区域
print(output)
tn.close()
4.验证结果
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)