python基于列表和元组的项目云主机管理系统

项目背景:
腾讯云服务器 CVM(Cloud Virtual Machine)是腾讯云提供的可扩展的计算服务。
使用 CVM 避免了使用传统服务器时需要预估资源用量及前期投入,帮助您在短时间内快速启动任意
数量的云服务器并即时部署应用程序。腾讯云 CVM 支持用户自定义一切资源:CPU、内存、硬盘、
网络、安全等等,并可以在需求发生变化时轻松地调整它们。

项目要求:
需求:
******************************************
***************云主机管理系统 ****************
******************************************
1). 添加云主机
2). 删除云主机
3). 修改云主机
4). 查看云主机
0). 退出系统

******************************************

云主机的属性信息:
id: 递增,主机id
IPv4: 主机IP
disk: 主机硬盘大小
memory: 主机内存大小
name: 主机别名

“”"
项目代码:
from collections import namedtuple

#云主机管理系统菜单栏提示
from prettytable import PrettyTable

prompt = “”"
******************************************
***************云主机管理系统 ***************
******************************************
1). 添加云主机
2). 删除云主机
3). 修改云主机
4). 查看云主机
0). 退出系统

用户请选择操作:         
******************************************

“”"

#1). 选择那种数据类型存储云主机信息? str, tuple, list, 选择列表
hosts_db = [] # 存储所有主机信息的数据库列表
id = 0 # 云主机的id号, 是依次递增的
#通过命名元组定义主机需要存储的信息
Host = namedtuple(‘Host’, [‘id’, ‘IPv4’, ‘disk’, ‘memory’, ‘name’])

#2). 死循环,接收用户选择
while True:
choice = input(prompt)
# 如果用户选择为1, 则添加云主机
if choice == ‘1’:
print(“添加云主机”.center(40, ‘’))
id += 1 # id递增
IPv4 = input('主机IP(eg:172.25.254.197)>> ')
disk = input('主机硬盘大小(eg: 500G)>> ')
memory = input('主机内存大小(eg: 4G)>> ')
name = input('主机别名(eg: 数据库服务器)>> ')
# 将主机信息实例化为Host对象, 并添加到主机信息的数据库列表中
hosts_db.append(Host(id=id, IPv4=IPv4, disk=disk, memory=memory, name=name))
# 显示添加成功的信息
print(“添加主机%s成功” %(name))
elif choice == ‘2’:
print(“删除云主机”.center(40, '
’))
delete_id = int(input('要删除主机的id(eg:1)>> '))
for host in hosts_db:
if host.id == delete_id:
hosts_db.remove(host)
print(“删除id=%s的云主机成功” %(delete_id))
break
else:
print(“没有找到id=%s的云主机,删除失败” %(delete_id))
elif choice == ‘3’:
# 如果我们的目标是定义一个高效的数据结构,而且将来会修改各种实例属性,那么使用 namedtuple 并不是最佳选择
# 修改云主机暂时不处理
pass
elif choice == ‘4’:
print(“查看云主机”.center(40, ‘*’))
# 创建表并指定表头信息和格式
hosts_table = PrettyTable(field_names=[‘Id’, “IPv4”, ‘Disk’, ‘Memory’, ‘Name’])
# # 遍历主机信息
for host in hosts_db:
# 按行添加数据
hosts_table.add_row(host)
# 打印表格
print(hosts_table)
elif choice == ‘0’:
exit(0)
else:
print(“请输入正确的选项”)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值