用Python怎样写仓库管理系统,代码是什么
Admin 2022-11-01 群英技术资讯 1934 次浏览
关于“用Python怎样写仓库管理系统,代码是什么”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。本文实例为大家分享了Python实现仓库管理系统的具体代码,供大家参考,具体内容如下
注意:在Linux环境运行
代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName :store_system.py
# @Time :2020/3/3 23:10
# @Author :anqixiang
# @Function :模拟仓库管理系统
'''
1.商品清单保存在/opt/shop_info.txt文件中
2.可以查看、增加、删除商品和修改商品价格
3.在任何位置输入b返回上级菜单,输入q退出
'''
import os
from subprocess import run
#输出颜色
def cecho(num,content):
print('\033[%sm%s\033[0m' %(num, content))
#选b返回上一层,选q退出
def choice_action(action):
while action != "b":
if action == "q":
exit(0)
else:
break
return action
#展示商品
def view_shop(file_name):
commodity = [] #所有商品保存到该列表
if not os.path.isfile(file_name):
os.mknod(file_name)
else:
with open(file_name, 'r') as file:
for each in file:
commodity.append(each.splitlines())
if len(commodity) == 0:
cecho(35, "货仓空空如也,请速速添加商品!")
#打印商品信息
else:
print('%-10s%-8s%-12s' % ('序号', '名字', '价格'))
for index, value in enumerate(commodity):
alist = value[0].split(":") #把字符串转成列表,以“:”分割
print('%-12s%-10s%-8s' % (index + 1, alist[0], alist[1]))
return commodity
#增加商品,每增加一个就保存到文件
def add_shop(file_name):
while True:
add_dict = {}
shop_name = input(">>>输入商品名:").strip()
if choice_action(shop_name) == "b":
break
shop_price = input(">>>输入商品价格(元):").strip()
if choice_action(shop_price) == "b":
break
elif shop_price.isdigit():
add_dict[shop_name] = shop_price #商品名作key,价格作值,存入字典
for i in add_dict:
with open(file_name, 'a+')as file:
file.write('%s:%s\n' % (i, add_dict[i]))
print("\033[92m%s存入成功\033[0m" % shop_name)
view_shop(file_name)
else:
cecho(31, "Invalid Option")
#删除商品
def del_shop(file_name):
menu_info = "商品清单"
print(menu_info.center(26,'-'))
commodity = view_shop(file_name)
while True:
del_num = input(">>>商品序号:").strip()
if choice_action(del_num) == "b":
break
elif del_num.isdigit():
del_num = int(del_num)
rc = run("sed -i '/%s/d' %s" % (commodity[del_num-1][0], file_name), shell=True)
if not rc.returncode:
cecho(92, "删除成功")
else:
cecho(31,"删除失败")
view_shop(file_name)
else:
cecho(31, "Invalid Option")
#修改商品价格
def update_price(file_name):
menu_info = "商品清单"
print(menu_info.center(26,'-'))
commodity = view_shop(file_name)
while True:
update_num = input(">>>商品序号:").strip()
if choice_action(update_num) == "b":
break
elif update_num.isdigit():
update_num = int(update_num)
else:
cecho(31, "Invalid Option")
new_price = input(">>>新的价格(元):").strip()
if choice_action(new_price) == "b":
break
elif new_price.isdigit():
new_price = int(new_price)
alist = commodity[update_num-1][0].split(':') #将商品名和价格转成一个列表,如['coffee', '30']
alist[1] = new_price #修改价格
rc = run("sed -i '/%s/c %s:%s' %s" % (alist[0], alist[0], alist[1], file_name), shell=True)
if not rc.returncode:
cecho(92, "修改成功")
else:
cecho(31,"修改失败")
view_shop(file_name)
else:
cecho(31, "Invalid Option")
#主程序
def show_menu():
cmds = {'0': view_shop, '1': add_shop, '2': del_shop, '3': update_price}
prompt = '''(0)查看商品信息
(1)增加商品
(2)删除商品
(3)修改商品价格
(b)返回上级菜单
(q)退出
输入(0/1/2/3/b/q):'''
fname='/opt/shop_info.txt' #保存商品信息
while True:
choice = input(prompt).strip()
if choice not in '0123bq':
cecho(31, "Invalid Option")
elif choice_action(choice) == "b":
cecho(31, "已经是第一级菜单")
else:
cmds[choice](fname)
if __name__ == "__main__":
try:
show_menu()
except KeyboardInterrupt as e:
print()
cecho(31, "非正常退出,请下次输入字母q进行退出!")
效果图




免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python神经网络ShuffleNetV2模型复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了Python3时间转换之时间戳转换为指定格式的日期,需要的朋友可以参考下
Python基础-PEP8 提供了 Python 代码的编写约定. 本节知识点旨在提高代码的可读性, 并使其在各种 Python 代码中编写风格保持一致.
这篇文章主要介绍了python 实现列表的切片操作允许索引超出范围,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
从ZoomEye到BugScan,再到TangScan,大型的Poc/EXP平台越来越多,各种扫描器也层出不穷。Web安全的门槛越来越高,自动化的渗透已经成了一种趋势。我一直梦想着,将来渗透的时候,先打开自己写的各种自动化工具,输入目标,然后喝着咖啡,刷着知乎,最后只需要把工具的分析报告整理整理就可以了。事实上,现在的扫描器也正在向这个方向发展,期待一键getshell的那一天。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008