通过Pycharm编写批量创建虚拟机程序
功能要求如下:
1 实现创建虚拟机,删除虚拟机、修改虚拟机配置等功能
2 要求产生的数据存放在本地,利用了json数据模块。
import os
import json
# vm_info = {}
DATA_FILE = './vm_data.txt'
if not os.path.exists(DATA_FILE):
with open(DATA_FILE, 'w') as f:
json.dump({}, f)
with open(DATA_FILE, 'r') as f:
vm_info = json.load(f)
# 虚拟机搜索
def search_vm():
pass
# 创建一个虚拟机
def create_vm():
name = input("请输入要创建的虚拟机主机名:")
if name in vm_info:
print("虚拟机{}已存在,无需再创建".format(name))
else:
ip = input("请输入虚拟机IP地址:")
cpu = input("请输入虚拟机CPU数量:")
mem = input("请输入虚拟机内存大小:")
vm = {"ip": ip, "CPU": cpu, "mem": mem}
vm_info[name] = vm
print(vm_info)
# 删除一个虚拟机
def del_vm():
name = input("请输入你要删除的虚拟机名称:")
if name in vm_info:
vm_info.pop(name)
print(vm_info)
else:
print("虚拟机{}不存在,无需删除".format(name))
# 修改虚拟机配置信息
def change_vm():
name = input("请输入你要修改虚拟机配置的主机名:")
if name in vm_info:
print('''可提供如下信息修改
1 IP地址
2 CPU
3 内存
''')
num = int(input("请选择你需要的选项:"))
if num == 1:
ip = int(input("请输入要修改后的IP地址:"))
vm_info[name]["ip"] = ip
print("已完成修改修改完后信息如下")
print(vm_info[name])
elif num == 2:
cpu = input("请输入要修改后的cpu数量:")
vm_info[name]["CPU"] = cpu
print("已完成修改修改完后信息如下")
print(vm_info[name])
elif num == 3:
mem = input("请输入要修改后内存大小:")
vm_info[name]["mem"] = mem
print("已完成修改修改完后信息如下")
print(vm_info[name])
else:
print("选项输入有误")
else:
print("虚拟机{}不存在,请重新选择对应的功能".format(name))
while True:
print("你正在运行虚拟机创建程序")
print("-" * 30)
print("0 刷新虚拟机列表信息")
print("1 创建一个虚拟机")
print("2 删除一个虚拟机")
print("3 修改虚拟机配置")
print("4 退出")
num = int(input("请选择功能序号:"))
if num == 1:
create_vm()
elif num == 2:
del_vm()
elif num == 3:
change_vm()
elif num == 0:
print(vm_info)
elif num == 4:
# 将字典数据写入到文件中
with open(DATA_FILE, 'w') as f:
json.dump(vm_info, f)
exit()
else:
print("指令输入有误,请重新输入")