【背景】想通过netmiko实现众多厂商设备的自动化配置、备份,结合pandas实现自动化巡检、盘点等功能;
此处先测试一个对厂商和功能进行选择的脚本------------>可封装成函数后使用
1,代码如下,缩进见图片:
[test@localhost venv]$ cat choice_policy.py
i = True
j = 1
# 手动选择序号,确定设备类型,同时对支持的设备类型进行规定
while i is not False:
print('\033[0;31;47mWelcome to use the process!\033[0m'.center(60,'*'))
provider = input('请输入序号选择设备厂商:\n'
'1:cisco\n'
'2:huawei\n'
'3:h3c\n'
'>>>>>')
if int(provider) == 1:
def dev_choice():
device_type = 'cicso_ios'
dev_choice()
break
elif int(provider) == 2:
def dev_choice():
device_type = 'huawei'
dev_choice()
break
elif int(provider) == 3:
def dev_choice():
device_type = 'hp_comware'
dev_choice()
break
else :
print('Wornning:脚本不支持选择的设备类型,请确认后重新选择!')
print('\033[0;31;47mWelcome to back,please select the Provider again!\033[0m'.center(60,'*'))
j += 1
if j > 3:
print('Error:已连续3次选择错误类型,程序已关闭')
i = False
break
# 手动选择序号,确定工具要执行功能,同时对支持的功能进行规定
while i is not False:
script_function = input('请输入序号选择想要执行的脚本功能:\n'
'1:配置备份\n'
'2:配置变更\n'
'3:资源统计\n'
'>>>>>')
if int(script_function) == 1:
def function():
device_type = '配置备份'
function()
break
elif int(script_function) == 2:
def function():
device_type = '配置变更'
function()
break
elif int(script_function)== 3:
def function():
device_type = '资源统计'
function()
break
else :
print('Wornning:脚本不支持选择的功能,请确认后重新选择!')
print('\033[0;31;47mWelcome to back,please select the Function again!\033[0m'.center(60,'*'))
j += 1
if j > 3:
print('Error:已连续3次选择不存在的功能,程序已关闭')
i = False
break
【实现功能】:
必须选择序号,否则会直接报错退出,此处后续再测试将 "else:"的条件改为not in [1,2,3]的现象;