网络工程师Python入门学习笔记-01

目录

一、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 符号:

  1. 分号:Python程序允许尾行添加分号,但是不建议使用分号隔离语句,建议每条一行。
  2. 空行:不同的函数或者语句块之间可以使用空行来分割,用以区分两段代码,提高代码可读性。
  3. 圆括号:圆括号可用于长语句的续航,一般不使用不必要的括号
  4. 空格:不建议在括号内使用空格,对于运算符可以按照个人习惯决定是否在两侧加空格

 

1.2 注释:

  • 单行注释 # 字符开始直到行尾结束。
  • 多行注释内容可以包含多行,这些内容包含在一对三引号内(’’’…’’’或者”””…”””)

 

1.3 代码缩进:很重要

•在Python程序中,代码缩进代表代码块的作用域。如果一个代码块包含两个或更多的语句,则这些语句必须具有相同的缩进量。对于Python而言代码缩进是一种语法规则,它使用代码缩进和冒号来区分代码之间的层次。

•编写代码时候,建议使用4个空格来生成缩进。如果程序代码中使用了错误的缩进,则会在运行中发出IndentationError错误信息。

 

print如果与if 齐平,就是不管if什么东西,都是直接print,所以层次关系很重要

1.4 编码文件结构

  • 一个完整的Python源码文件一般包含几个组成部分:解释器和编码格式声明、文档字符串、模块导入和运行代码
  • 如果会在程序中调用标准库或其他第三方库的类时,需要先使用importfrom… 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类里的不同方法实现不同功能。

 

实现过程分为四个步骤:

  1. 配置设备Telnet服务。
  2. 手动验证和查看Telnet登录步骤,作为代码实现的参考。
  3. 编写和运行Python代码。如果需要登录很多台直接for循环
  4. 验证结果。

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.验证结果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

里晓山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值