- 推荐自己的专栏:分享一些Python案例,将所学用出来
一:系统测试运行
------ 库存信息管理系统-------
| 1: 增加产品信息
| 2: 产品信息报表
| 3: 增加货架位置
| 4: 货架位置报表
| 5: 商品入库管理
| 6: 商品出库管理
| 7: 商品库存信息报表
| 0: 退出
------------------------------
请选择功能菜单(0-7):
二:库存管理系统概述
sku:Stock Keeping Unit,最小存货单位
- 本节实现一个简单的基于模块的库存管理系统。
- 系统采用JSON文件来保存数据。
- 产品信息设计为字典,键为sku_id (产品ID),值为sku_name (产品名称),使用products.json实现其持续化。
- 货架位置信息也设计为字典,键为loc_id (货架ID),值为loc_name (货架名称),使用location.json实现其持续化。
- 商品库存信息设计为列表[sku_id, loc_id] 的列表,使用items.json实现其持续化。
库存管理系统设计为三个模块文件: data.py、ui.py 和 main.py。
库存管理系统data.py负责数据的管理
库存管理系统ui.py负责用户界面交互
三:数据处理模块data.py的实现
- 库存管理系统data.py负责数据的管理
- 通过Python标准库模块json中的loads()函数和dumps()函数,可以实现从JSON文件读取数据和转储数据到JSON文件的功能。
库存管理系统数据处理模块data.py。
import os
import json
#全局变量
_products = {
} #保存产品信息的字典: sku_id:sku_name
_locations = {
} #保存货架位置的字典: loc_id:loc_name
_items = [] #保存商品库存的列表,元素为元组(sku_id,loc_id)
def init():
"""从磁盘JSON格式文件中读取数据"""
global _products, _locations, _items
if os.path.exists("products.json"):
f = open("products.json", "r", encoding = 'utf-8')
_products = json.loads(f.read())
f.close()
if os.path.exists("locations.json"):
f = open("locations.json", "r", encoding = 'utf-8')
_locations = json.loads(f.read())
f.close()
if os.path.exists("items.json"):
f = open("items.json", "r", encoding ='utf-8')
_items = json.loads(f.read())
f.close()
def _save_products