• 网络工程师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 服务

    1. [Huawei] interface ethe 1/0/0
    2. [Huawei -ethernet0/0/0] ip add 192.168.1.10 24
    3. [Huawei -ethernet0/0/0] quit
    4. [Huawei]user-interface vty 0 4
    5. [Huawei-ui-vty0-4]authentication-mode aaa
    6. [Huawei-ui-vty0-4]q
    7. [Huawei]aaa
    8. [Huawei-aaa]local-user
    9. [Huawei]aaa
    10. [Huawei-aaa]local-user aa privilege level 3 password cipher 123
    11. [Huawei-aaa]local-user aa service-type telnet

    2.手动telnet登录,验证telnet设备可以登录

    3.编写Python代码

    1. #telnet 登录一台设备
    2. import telnetlib
    3. import time
    4. host = "213.234.1.1"
    5. user = "aa"
    6. password = "123"
    7. tn = telnetlib.Telnet(host)
    8. tn.read_until(b"Username:") #login:
    9. tn.write(user.encode("ascii")+b"\n") #encode函数的作用是指定编码格式
    10. tn.read_until(b"Password:")
    11. tn.write(password.encode("ascii")+b"\n")
    12. print("欢迎登录"+host)
    13. #写入命令区域
    14. tn.write(b"con\n"
    15. tn.write(b"int gigabit0/0/0\n"
    16. tn.write(b"ip address 213.234.1.10\n"
    17. tn.write(b"quit\n"
    18. tn.write(b"save\n"
    19. time.sleep(2) #调用时间模块 等待2s
    20. output = (tn.read_very_eager().decode("ascii")) #输出结果区域
    21. print(output)
    22. tn.close()

    4.验证结果

  • 相关阅读:
    异步加载JS的方法
    习题 --- BFS
    自动化测试Selenium面试题库参考和答案
    关于使用hyperbeach出现/bin/sh: 1: packr2: not found的解决方案
    解决Java 8 date/time type `java.time.LocalDateTime` not supported by default
    【建议背诵】软考高项考试案例简答题汇总~(4)
    rust编程-rust所有权理解(chapter 4.2 引用实质是借用)
    Linux 内存top命令详解
    弱监督下的学习对象检测
    链游新发展方向:告别高强度打金,回归游戏本质
  • 原文地址:https://blog.csdn.net/qq_33162707/article/details/127826819