网络自动化运维 Help

1-1 基础复习

可略过,从第二章开始。

章节介绍

上学期大家已经学习过Python基础。第一章主要是基础复习和与网工的结合,分为以下几方面:

  • 基础复习。基本变量、控制语句等基础内容略过。

  • 本地文件读写、文本编码

  • 第三方库的安装,如何与网工业务结合

安装

建议选择上一个大版本的最新稳定版,例如现在最新正式版为Python3.12.5,那么建议选择3.11.13。安装是注意☑️勾选 add Python to System Path。 下载页默认是pro版,选择 other versions后找到Community Edition最新版。 详见下载地址。

Python代码两种运行模式

  1. 交互式解释器(interactive interpreter)

    1. 快捷键Win+X或桌面左下角鼠标右键调出菜单,然后选择 PowerShellPowerShell 管理员。

    2. Windows命令行状态下例如 C:\Users\zhangsan> ,输入./python进入到交互式解释器模式、行首变为 >>>

    3. 随意输入一些python代码,每输入一行回车后立即得到结果,已经输入过的代码不可修改。

    4. 输入quit()退出交互式解释器模式,回到Windows终端模式。

  2. 运行脚本(running script)

    1. 新建记事本文件 hello.txt

    2. 输入一些python代码

    3. 保存文件,修改文件名为 hello.py

    4. 打开终端,输入 python hello.py ,得到结果

  3. IDE集成开发工具运行:安装Python解释器时自带的IDLE或Pycharm community edition,IDE其实用的是运行脚本方式。

交互式解释器

运行脚本

方便修改

不方便,多行编辑和缩进不方便,运行后的代码如果要修改只能重新输入

方便,像编辑记事本一样

运行代码

在交互式解释器状态下运行

在Windows终端状态下

适用场景

简单语法的快速验证

复杂脚本或代码工程

创建项目工程

使用Pycharm创建项目工程,一个项目实际是一个文件夹,文件夹下组织着脚本。 注意解释器的选择,解释器路径为你的Python安装路径,例如 D:\Python311\python.exe。 创建1.py文件

运行出结果

练习题

题目:IPv4 地址有效性校验 题目要求: 在网络工程中,IPv4 地址是设备在互联网上进行通信的基础。一个合法的 IPv4 地址由四个十进制数组成,每个数字的范围是 0 到 255,数字之间用小数点 "." 分隔。例如,192.168.1.1 是一个合法的 IPv4 地址,而 256.1.1.1 或 192.168.1 则不是。

请你编写一个 Python 函数 is_valid_ipv4(ip_string),该函数接收一个字符串 ip_string 作为输入,判断该字符串是否为一个有效的 IPv4 地址。

函数 is_valid_ipv4(ip_string) 需要实现以下功能:

  • 分割字符串: 将输入的 ip_string 字符串按照小数点 "." 进行分割。

  • 检查段数: 分割后的结果应该包含正好四个部分。如果不是四个部分,则不是有效的 IPv4 地址。

  • 检查每段内容: 检查每个部分是否都是数字字符串。如果包含任何非数字字符,则不是有效的 IPv4 地址。

  • 检查每段内容: 将每个部分转换为整数,检查转换后的整数是否在 0 到 255 的范围内(包括 0 和 255)。

  • 返回结果: 如果所有条件都满足,函数返回 True,表示 ip_string 是一个有效的 IPv4 地址;否则,返回 False和输出错误原因。

期望结果:
print(is_valid_ipv4("192.168.1.1")) # 输出: True
print(is_valid_ipv4("256.1.1.1")) # 输出: False (第一段超出范围)
print(is_valid_ipv4("192.168.1")) # 输出: False (段数不足)
print(is_valid_ipv4("192.168.1.abc")) # 输出: False (包含非数字字符)
print(is_valid_ipv4("10.0.0.255")) # 输出: True
print(is_valid_ipv4("0.0.0.0")) # 输出: True
print(is_valid_ipv4("172.16.0.1")) # 输出: True

提示:
在交互式解释器下尝试语法,主要用到字符串操作。或是在编辑器中每次写一点功能,然后运行尝试,用print测试,一点一点加逻辑。

你可以使用字符串的 split() 方法来分割字符串。 你需要使用循环来遍历分割后的每一段。 可以使用字符串的 isdigit() 方法来检查字符串是否只包含数字字符。 可以使用 int() 函数将字符串转换为整数。 你需要使用条件判断 (if 语句) 来检查各种条件是否满足。

答案:

inputs = ['192.168.1.1', '256.1.1.1', '192.168.1', '192.168.1.abc', '10.0.0.255', '0.0.0.0', '172.16.0.1'] error_msg = '' def is_valid_ipv4(inputs): msg = '' for ip in inputs: print(f'正在检测 {ip} ', end='\t') # 检查段数 sections = ip.split('.') # print(len(sections)) if len(sections) != 4: msg = f'ip段数不对,为{len(sections)},应该为4。' print(f'错误地址{msg}') continue # 循环每小段 for sec in sections: # 如果每小段不是数字 if not sec.isdigit(): msg = f'有一段不是数字,不为数字的那一段为{sec}' print(f'错误地址{msg}') continue else: # 判断数字范围 sec = int(sec) if sec < 0 or sec > 255: msg = f'某一段{sec}超出范围,应该为0~255' print(f'错误地址{msg}') continue # 成功 print(f'合法地址{msg}') if __name__ == '__main__': is_valid_ipv4(inputs)
18 二月 2026