0
点赞
收藏
分享

微信扫一扫

Python模拟创建虚拟机程序

琛彤麻麻 2023-06-14 阅读 54

通过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("指令输入有误,请重新输入")

举报

相关推荐

0 条评论