py管理系统
文章目录
界面
def show_menu():
print("*" * 11+"探针管理系统 V_1.0"+"*" * 11)
print("1、添加探针信息")
print("2、修改探针信息")
print("3、删除探针信息")
print("4、显示所有探针信息")
print("5、保存信息")
print("6、读取信息")
print("0、退出系统")
print("*" * 40)
添加
实现步骤:
1.输入探针的探针号、类型、版本等等
1.1判断探针编号是否存在,如果存在则拒绝添加,提示“编号已存在,不能重复添加”
1.2如果不重复,则继续接下来的操作
2.把这些信息保存在一个字典里
2.1探针探针号作为键,剩下的属性(类型、版本)作为值
2.2类似: '1001' {'type':xxx, 'version':xxx}
3.提示添加成功
def add_info():
print("添加探针===>")
probe_id = input("请输入要添加的探针号:")
all_id = list(probe_dict.keys())
if probe_id in all_id:
print("探针号已存在,不能重复添加!!!")
return
probe_type = input("请输入要添加探针的类型:")
probe_version = input("请输入要添加探针的版本:")
info_dict = {"type": probe_type, "version": probe_version}
probe_dict[probe_id] = info_dict
print("编号为 %s 的探针信息添加成功!!!" % probe_id)
# print(probe_dict) # {'1001': {'type': '侦查', 'version': '1.0'}}
修改
实现步骤:
1.拿到要修改探针的探针号
1.1如果探针号不存在,则提示错误信息,终止函数执行,返回
1.2如果存在,则修改对应的信息
1.2.1 显示原来的信息再修改
2.因为并不是所有的信息都需要修改,万一不需要修改的怎么办?如何简化使用操作?
2.1判断修改时输入的是不是为空,为空就保持不变,不为空则说明修改了
def update_info():
"""修改探针信息"""
print("修改探针===>")
probe_id = input("请输入你要修改的探针号")
all_id = list(probe_dict.keys())
if probe_id not in all_id:
print("该探针号不存在!!!")
return
new_type = input("类型是:%s 修改后的类型:" % probe_dict[probe_id]['type'])
new_version = input("版本是:%s 修改后的版本:" % probe_dict[probe_id]['version'])
# 因为并不是所有的信息都需要修改,万一不需要修改的怎么办?如何简化使用操作?
if new_type != "":
probe_dict[probe_id]['type'] = new_type
if new_version != "":
probe_dict[probe_id]['version'] = new_version
print("探针号为 %s 的探针信息修改成功!!!" % probe_id)
删除
实现步骤:
1.输入要删除探针的探针号
2.判断探针号是否存在,不存在就给出提示信息,终止函数执行
3.如果存在,则直接删除
def delete_info():
"""删除探针信息"""
print("删除探针===>")
probe_id = input("请输入你要删除的探针的探针")
all_id = list(probe_dict.keys())
if probe_id not in all_id:
print("该探针号不存在!!!")
return
else:
del probe_dict[probe_id]
print("探针号为 %s 的探针信息删除成功!!!" % probe_id)
显示
实现步骤:
1.判断探针是否存在,如果不存在则提示返回
1.1怎么判断?当列表长度为0时,则说明不存在
2.如果存在,就打印表头
3.打印分割线
4.遍历探针信息,依次输出字典信息
def show_all_info():
"""显示探针信息"""
print("显示所有探针信息===>")
# 判断探针是否存在
if len(list(probe_dict.keys())) == 0:
print("当前没有任何的探针信息,请先选择操作 1,添加探针!!!")
return
# 若存在,则打印表头
print("-" * 40)
for i in ["探针", "类型", "版本"]:
print(i, end="\t\t")
print("")
print("-" * 40)
# 这个items方法是把字典转换成列表的方法,须特别注意
for j in probe_dict.items():
print("%s\t\t%s\t\t%s" % (j[0] , j[1]['type'] , j[1]['version']))
print("-" * 40)
保存
实现步骤:
1.判断探针是否存在,如果不存在则提示返回
2.保存在p3.txt
def save():
# 判断探针是否存在
if len(list(probe_dict.keys())) == 0:
print("当前没有任何的探针信息,请先选择操作 1,添加探针!!!")
return
# 若存在,则保存在p3.txt
with open("p3.txt", "wt") as out_file:
for j in probe_dict.items():
out_file.write("%s %s %s\n" % (j[0] , j[1]['type'] , j[1]['version']))
读取
实现步骤:
1.打开p3.txt,不存在会错误返回
2.按行读取,切分格式
3.判断重复
3.1重复的不管,不重复的添加
def load():
# # 先确认一遍
# sign = input("是否继续(y/n)")
# if sign != "Y" or "y":
# return
with open("p3.txt", "r") as in_file:
text = in_file.readline()
while text:
text_list = text.splitlines()
# print(text_list)
# ['1001 侦查 1.0']
probe_list = text_list[0]
probe_list = probe_list.split(" ") #切分合适的格式
all_id = list(probe_dict.keys()) #判断重复,添加
if probe_list[0] not in all_id:
info_dict = {"type": probe_list[1], "version": probe_list[2]}
probe_dict[probe_list[0]] = info_dict
text = in_file.readline() #下一行
p1
import p2
while True:
p2.show_menu()
act = input("请输入您的操作:")
if act == "1":# 1.添加探针信息
p2.add_info()
elif act == "2":# 2.修改探针信息
p2.update_info()
elif act == "3":# 3.删除探针信息
p2.delete_info()
elif act == "4":# 4.显示所有探针信息
p2.show_all_info()
elif act == "5":# 5.保存到文件
p2.save()
elif act == "6":# 6.从文件读取
p2.load()
elif act == "0":# 0.退出系统
print("不!!!为什么要退出!!!")
break
else:
# 输入其他任意数字
print("您输入的有误,请重新输入:")