IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> python_练习_元组_云主机管理系统 -> 正文阅读

[系统运维]python_练习_元组_云主机管理系统

需求:编写一个云主机管理系统

编写一个云主机管理系统:
- 添加云主机(IP, hostname,IDC)
- 搜索云主机(顺序查找)
- 删除云主机
- 查看所有的云主机信息

# 从collections模块中导入namedtuple工具
from collections import namedtuple

menu = """
                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统
            
请输入你的选择:"""

# 思考1. 所有的云主机信息如何存储?选择哪种数据类型存储呢?  选择列表
hosts = []                  # 现在云主机列表为空
# 思考2: 每个云主机信息该如何存储?IP, hostname,IDC   选择命名元组
host = namedtuple('host', ('hostname', 'ip', 'idc'))    # 命名元组

while True:
    choice = input(menu)
    if choice == '1':           # 添加云主机
        hostname = input("hostname:")
        ip = input("ip:")
        idc = input("IDC(ali,huawei,tencent...):")
        host1 = host(hostname, ip, idc)     # host1是第一台云主机的信息
        hosts.append(host1)                 # 添加新的云主机,hosts是总云主机列表
        print(f"{hostname}主机的IP是{ip},idc是{idc}")
    elif choice == '2':			# 作业部分
        pass
    elif choice == '3':
        pass
    elif choice == '4':
        print('云主机管理系统'.center(30,'*'))
        print("hostname\tip\t\t\t\tidc")        # 表头信息
        count = 0                               # 云主机个数
        for host in hosts:      # 循环总云主机列表
            count += 1
            print(f"{host.hostname}\t{host.ip}\t{host.idc}")    # 打印云主机的信息
        print("云主机总个数:%d" %(count))
    else:
        print("退出系统,欢迎下次使用......")
        exit()

执行结果,如下:

E:\python\python.exe E:/pythonProject1/2021-11-28-python_study/day03/08_云主机管理系统.py

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统
            
请输入你的选择:1
hostname:westos.org
ip:172.25.254.100
IDC(ali,huawei,tencent...):tencent
westos.org主机的IP是172.25.254.100,idc是tencent

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统
            
请输入你的选择:1
hostname:qian.org
ip:172.25.254.111
IDC(ali,huawei,tencent...):huawei
qian.org主机的IP是172.25.254.111,idc是huawei

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统
            
请输入你的选择:4
***********云主机管理系统************
hostname	ip				idc
westos.org	172.25.254.100	tencent
qian.org	172.25.254.111	huawei
云主机总个数:2

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统
            
请输入你的选择:5
退出系统,欢迎下次使用......

Process finished with exit code 0

作业:编写根据IP查找云主机的代码

编写一个云主机管理系统:
- 搜索云主机(顺序查找)

# 从collections模块中导入namedtuple工具
from collections import namedtuple

menu = """
                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:"""

host = namedtuple( 'host', ( 'hostname', 'ip', 'idc' ) )    # 命名元组存放单个云主机的数据
hosts = []      # 所有云主机的数据存放在列表中

# 3. 设置死循环
while True:
# 1. 请输入用户的选择
    choice = input(menu)
# 2. 根据选择进行判断,执行代码
    if choice == '1':                   # 添加云主机
        hostname = input('hostname:')   # 输入hostname,ip,idc
        ip = input('ip:')
        idc = input('idc:')
        host1 = host( hostname, ip, idc )     # 命名元组存储输入的云主机信息
        hosts.append(host1)                   # 将该命名元组追加到列表hosts后面
        print(f'{hostname}云主机的ip是{ip},IDC是{idc}')

    elif choice == '2':                 # 根据IP搜索云主机
        choice_ip = input('输入要查找的IP:')
        for host in hosts:              # 列表的for循环
            if choice_ip == host.ip:
                print('查找的主机信息如下:'.center(30, '*'))  # 表头
                print('hostname\tip\t\t\t\tidc')           # 制作表头
                print(host.hostname, host.ip, host.idc)    # 打印匹配的云主机信息
                break
        else:
            print('该主机不存在!')        # 如果查找的IP不存在,就执行此代码

    elif choice == '3':
        pass

    elif choice =='4':                          # 查看云主机列表信息
        print('云主机管理列表'.center(30, '*'))   # 表头
        print('hostname\tip\t\t\t\tidc')          # 制作表头
        count = 0               # 统计云主机的个数
        for host in hosts:      # 循环显示云主机列表中的主机信息
            count += 1
            print(host.hostname, host.ip, host.idc)
        print('云主机的总数是%d' %(count))

    else:
        print('退出系统,欢迎下次使用......')
        exit()

执行结果,如下:

E:\python\python.exe E:/pythonProject1/2021-11-28-python_study/day03/09_作业改进版_云主机管理系统.py

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:1
hostname:westos.org
ip:172.25.254.100
idc:tencent
westos.org云主机的ip是172.25.254.100,IDC是tencent

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:1
hostname:qian.org
ip:172.25.254.111
idc:huawei
qian.org云主机的ip是172.25.254.111,IDC是huawei

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:1
hostname:yao.org
ip:172.25.254.200
idc:alibaba
yao.org云主机的ip是172.25.254.200,IDC是alibaba

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:4
***********云主机管理列表************
hostname	ip				idc
westos.org 172.25.254.100 tencent
qian.org 172.25.254.111 huawei
yao.org 172.25.254.200 alibaba
云主机的总数是3

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:2
输入要查找的IP:172.25.254.222
该主机不存在!

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:2
输入要查找的IP:172.25.254.100
**********查找的主机信息如下:**********
hostname	ip				idc
westos.org 172.25.254.100 tencent

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:2
输入要查找的IP:172.25.254.100
**********查找的主机信息如下:**********
hostname	ip				idc
westos.org 172.25.254.100 tencent

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:4
***********云主机管理列表************
hostname	ip				idc
westos.org 172.25.254.100 tencent
qian.org 172.25.254.111 huawei
yao.org 172.25.254.200 alibaba
云主机的总数是3

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:2
输入要查找的IP:172.25.254.111
**********查找的主机信息如下:**********
hostname	ip				idc
qian.org 172.25.254.111 huawei

                云主机管理系统
            1). 添加云主机
            2). 搜索云主机(IP搜索)
            3). 删除云主机
            4). 云主机列表
            5). 退出系统

请输入你的选择:5
退出系统,欢迎下次使用......

Process finished with exit code 0
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:23:42  更:2021-12-05 12:24:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:37:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码