精华内容
下载资源
问答
  • python:简易商品仓库管理系统(大学大作业、基础、入门、有注释)
    2022-01-07 21:13:55

    商品仓库管理系统

    1.出库
    2.入库
    3.增加商品
    4.删除商品
    5.修改商品
    6.展示所有商品

    不多说直接上代码:

    #菜单模块
    def Displaymenu():
        print("-"*35)
        print("{: >18}".format("仓库管理系统"))
        print("{: >18}".format("1.商品入库"))
        print("{: >18}".format("2.商品出库"))
        print("{: >20}".format("3.增加商品信息"))
        print("{: >20}".format("4.删除商品信息"))
        print("{: >20}".format("5.修改商品信息"))
        print("{: >20}".format("6.查看商品信息"))
        print("{: >18}".format("0.退出系统"))
        print("-"*35)
    
    goods_information=[]  #用列表存储商品信息
    
    #增加商品信息
    def add_goods_information():
        while True:
            new_num = input('请输入商品的编号:')
            new_name = input('请输入商品的名字:')
            new_amount = input('请输入商品的数量:')
            new_cost = input('请输入商品的进价:')
            new_price = input('请输入商品的售价:')
            new_goods = {}  #创建一个字典,存储一个商品的信息,最后把字典存入列表
            new_goods['num']=new_num
            new_goods['name']=new_name
            new_goods['amount']=new_amount
            new_goods['cost']=new_cost
            new_goods['price']=new_price
            goods_information.append(new_goods)
    
            a = input('是否继续增加商品?(输入1继续,输入0结束)')
            if a == '1':
                continue
            else:
                print('保存成功!')
                show_goods_information()
                break
    
    
    #遍历列表,寻找到指定商品的编号
    def find_goods_information(find_num):
        find_goods=-1                                     #先定义为-1,找不到则return这个-1
        for a in goods_information:                    #遍历列表
            if a['num'] == find_num:                   #找到指定商品的编号
                find_goods=goods_information.index(a)  #把找到的商品在列表的地址赋值给find_goods
        return find_goods                                 #返回值
    
    #删除商品信息
    def del_goods_information():
        del_num = input("请输入要删除的商品编号:")
        goods_addresss = find_goods_information(del_num)  #从遍历列表模块,返回要删除的商品的地址
        if goods_addresss == -1:                          #没找到的话,返回的值是-1
            print('商品不存在!')
        else:
            del goods_information[goods_addresss]         #用del直接删除掉找到的商品
            print('删除成功!')
            show_goods_information()
    
    #修改商品信息
    def modify_goods_information():
        modify_num  = input("请输入要修改的商品编号:")
        goods_address = find_goods_information(modify_num)  #从遍历列表模块,返回要修改的商品的地址
        if goods_address == -1:
            print('商品不存在!')
        else:
            new_name = input("请输入新的名字:")
            new_cost = input("请输入新的进价")
            new_price = input("请输入新的售价")
            goods_information[goods_address]['name'] = new_name    #把新输入的信息一个个重新保存到字典里
            goods_information[goods_address]['cost'] = new_cost
            goods_information[goods_address]['price'] = new_price
            print('修改成功!')
            show_goods_information()
    
    #展示所有商品信息
    def show_goods_information():
        print("-"*30)
        print("{: >15}".format("商品总览"))
        print("-"*30)
        print("{: >20}".format("编号   名字   数量   进价   售价"))
        for a in goods_information:
            print("{: >20}".format("%s    %s    %s    %s    %s")%(a['num'],a['name'],a['amount'],a['cost'],a['price']))
    
    #出库
    def out():
      while True:  #若商品不存在,执行continue
          out_num = input('请输入需要出库的商品编号:')
          goods_address = find_goods_information(out_num)  # 从遍历列表模块,返回要修改的商品的地址
          if goods_address == -1:
            print('商品不存在!')
            continue
          else:
                a = eval(input('请输入出库数量:'))
                print()
                # 判断是否有足够库存,否则报错,这里保存的时候都是字符串,先转换为int型再比较
                if int(goods_information[goods_address]['amount']) >= a:
                    b = int(goods_information[goods_address]['amount'])  #赋值给b
                    goods_information[goods_address]['amount'] = b-a  # b减a保存进列表内的字典
                else:
                    print('商品仓库数量不足!')
    
    
    #入库
    def storage():
    
        while True:  # 若商品不存在,执行continue
            ru_num = input('请输入需要出库的商品编号:')
            goods_address = find_goods_information(ru_num)  # 从遍历列表模块,返回要修改的商品的地址
            if goods_address == -1:
                print('商品不存在!')
                continue
            else:
                a = eval(input('请输入出库数量:'))
                print()
                b = int(goods_information[goods_address]['amount'])  # 赋值给b
                goods_information[goods_address]['amount'] = b + a  # b加a保存进列表内的字典
    
    
    #主函数
    def main():
        while True:
            Displaymenu()
            a = input('请输入功能对应的数字:')
            if a == '1':
                storage()
            elif a == '2':
                out()
            elif a == '3':
                add_goods_information()
            elif a == '4':
                del_goods_information()
            elif a == '5':
                modify_goods_information()
            elif a == '6':
                show_goods_information()
            elif a == '0':
                quit_confirm = input('输入end确定退出程序')
                if quit_confirm == 'end':
                    break
            else:
                print('输入有误,请重新输入:')
    
    if __name__ == '__main__':   #作用请在csdn内搜索
        main()
    

    用到的函数很少,不知道作用的,自行搜索,抄作业很简单,理解最重要

    更多相关内容
  • 很好的源码python的,使用到了python的界面技术,数据库技术以及统计技术,很好很强大!
  • python tkinter进销存系统源码

    python进销存系统源码tkinter python仓库管理系统源码!
    登录界面在这里插入图片描述
    主页
    在这里插入图片描述
    入库功能
    在这里插入图片描述

    卖出功能
    在这里插入图片描述
    销售数据查看
    在这里插入图片描述

    在这里插入图片描述
    客户数据查看
    在这里插入图片描述
    在这里插入图片描述
    设置密码修改
    在这里插入图片描述
    在这里插入图片描述
    完整源码可以运行
    网盘下载完整源码
    链接:https://pan.baidu.com/s/1voJ1pcdvZEUqI0u6FFnR7A?pwd=w1t6
    提取码:w1t6

    展开全文
  • python课程设计仓库管理系统,包含源码,文档,ppt
  • 通过PYTHON基本功能,实现仓库进销存系统
  • 仓库管理系统.rar

    2019-11-05 10:06:17
    用GUi界面写的仓库管理系统,简单的Demo,配有sql文件
  • MySQL+Python仓库管理系统 窗口可视化管理系统

    千次阅读 多人点赞 2021-01-21 10:20:25
    MySQL+Python仓库管理系统 窗口可视化管理系统 这是连接MySQL数据库的小系统,可以实现在可视界面窗口对数据库进行操作 pycharm代码如下 // An highlighted block import pymysql.cursors from tkinter import ttk ...

    MySQL+Python仓库管理系统 窗口可视化管理系统

    这是连接MySQL数据库的小系统,可以实现在可视界面窗口对数据库进行操作

    pycharm代码如下

    // An highlighted block
    import pymysql.cursors
    from tkinter import ttk
    import tkinter as tk
    import tkinter.font as tkFont
    from tkinter import *  # 图形界面库
    import tkinter.messagebox as messagebox
    import time
    
    # 连接数据库
    connect = pymysql.Connect(
        host='localhost',
        port=3306,
        user='root',
        passwd='dudu010112',# 这个是自己MySQL数据库密码
        db='仓库管理系统2', # 自己创建的数据库名称
        charset='utf8'
    )
    # 主页面
    class StartPage:
        def __init__(self, parent_window):
            parent_window.destroy()  # 销毁子界面
    
            self.window = tk.Tk()
            self.window.title('仓库管理系统')
            self.window.geometry('700x600+70+50')
    
            def getTime():
                timeStr = time.strftime('%H:%M:%S')
                Rtime.configure(text=timeStr)
                self.window.after(1000, getTime)
    
            Rtime = Label(self.window, text='')
            Rtime.pack(pady=25)
            getTime()
    
            label = Label(self.window, text="仓库管理系统", font=("楷体", 30))
            label.pack(pady=10)  # pady=100 界面的长度
    
            # 按钮
            Button(self.window, text="入库操作", font=tkFont.Font(size=16), command=lambda: xinjian(self.window), width=20,
                    height=2, fg='white', bg='gray').place(x=100, y=300)
            Button(self.window, text="仓库查询", font=tkFont.Font(size=16), command=lambda: cangkucha(self.window), width=20,
                    height=2, fg='white', bg='gray').place(x=400, y=300)
            Button(self.window, text="出库操作", font=tkFont.Font(size=16), command=lambda: chuku(self.window), width=20,
                    height=2, fg='white', bg='gray').place(x=100, y=400)
            Button(self.window, text="退出系统", font=tkFont.Font(size=16), command=self.window.destroy, width=20,
                    height=2, fg='white', bg='gray').place(x=400, y=400)
    
            self.window.mainloop()
    
    # 入库操作页面
    class xinjian:
        def __init__(self, parent_window):
            parent_window.destroy()  # 销毁子界面
    
            self.window = tk.Tk()
            self.window.title('入库操作')
            self.window.geometry('700x600+70+50')
    
            self.top_title = Label(self.window, text='入库操作', bg='SkyBlue', font=('楷体', 20), width=70, height=2)
            self.top_title.pack()
    
            self.var_id = StringVar()
            self.var_name = StringVar()
            self.var_gender = StringVar()
            self.var_age = StringVar()
            self.var_gid = StringVar()
            self.right_top_id_label = Label(text="入库单号:", font=('楷体', 15)).pack(pady=15)
            self.right_top_id_entry = Entry(textvariable=self.var_id, font=('楷体', 15)).pack()
    
            self.right_top_name_label = Label(text="货物编号", font=('楷体', 15)).pack(pady=15)
            self.right_top_name_entry = Entry(textvariable=self.var_name, font=('楷体', 15)).pack()
    
            self.right_top_gender_label = Label(text="入库量", font=('楷体', 15)).pack(pady=15)
            self.right_top_gender_entry = Entry(textvariable=self.var_gender, font=('楷体', 15)).pack()
    
            self.right_top_gender_label = Label(text="货物名称", font=('楷体', 15)).pack(pady=15)
            self.right_top_gender_entry = Entry(textvariable=self.var_age, font=('楷体', 15)).pack()
    
            self.right_top_gender_label = Label(text="供应商编号", font=('楷体', 15)).pack(pady=15)
            self.right_top_gender_entry = Entry(textvariable=self.var_gid, font=('楷体', 15)).pack()
    
            self.right_top_button1 = ttk.Button(text='确定', width=20, command=self.new_row).pack(pady=30)
            self.right_top_button2 = ttk.Button(text='返回', width=20, command=self.back).pack()
            self.window.protocol("WM_DELETE_WINDOW", self.back)  # 捕捉右上角关闭点击
    
            self.id = []
            self.name = []
            self.gender = []
            self.age = []
            self.gid = []
            # 打开数据库连接
            db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
            cursor = db.cursor()  # 使用cursor()方法获取操作游标
            sql = "SELECT * FROM 入库"  # SQL 查询语句
            try:
                # 执行SQL语句
                cursor.execute(sql)
                # 获取所有记录列表
                results = cursor.fetchall()
                for row in results:
                    self.id.append(row[0])
                    self.name.append(row[1])
                    self.gender.append(row[2])
                    self.age.append(row[3])
                    self.gid.append(row[4])
            except:
                print("Error: unable to fetch data")
                messagebox.showinfo('警告!', '数据库连接失败!')
            db.close()  # 关闭数据库连接
    
        def back(self):
            StartPage(self.window)  # 显示主窗口 销毁本窗口
    
        def new_row(self):
    
            if self.var_id.get() != '' and self.var_name.get() != '' and\
                    self.var_gender.get() != '' and self.var_age.get() != '' and self.var_gid.get() != '':
                db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
                cursor = db.cursor()  # 使用cursor()方法获取操作游标
                sql = "INSERT INTO 入库(入库单号,货物编号,入库量,货物名称,供应商编号)  VALUES ('%s', '%s','%s','%s','%s')" % \
                        (self.var_id.get(), self.var_name.get(),self.var_gender.get(), self.var_age.get(),self.var_gid.get())  # SQL 插入语句
                try:
                    cursor.execute(sql)  # 执行sql语句
                    db.commit()  # 提交到数据库执行
                    messagebox.showinfo('提示!', '入库成功!')
                except:
                    db.rollback()  # 发生错误时回滚
                    messagebox.showinfo('警告!', '数据库连接失败!')
                db.close()  # 关闭数据库连接
            else:
                messagebox.showinfo('提示!', '请填写入库信息')
    
    # 仓库清单
    class cangkudan:
        def __init__(self, parent_window):
            parent_window.destroy()  # 销毁子界面
            self.window = tk.Tk()
            self.window.title('仓库清单')
            self.window.geometry('1200x600+70+50')
            db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
            cursor = db.cursor()  # 使用cursor()方法获取操作游标
            sql = "SELECT * FROM 仓库"  # SQL 语句
            try:
                cursor.execute(sql)  # 执行sql语句
                results = cursor.fetchall()
                for row in results:
                    self.name = '货物名称:' + row[0]
                    self.id = '货物编号:' + row[1]
                    self.num = '货物数量' + row[2]
                    self.gid = '供应商编号' + row[3]
    
                    db.commit()  # 提交到数据库执行
    
                    Label(self.window, text=self.id + "\t" + self.name + "\t" + self.num+"\t"+
                                            self.gid ,font=('楷体', 18)).pack(pady=5)
    
            except:
                db.rollback()  # 发生错误时回滚
                messagebox.showinfo('警告!', '数据库连接失败!')
            db.close()  # 关闭数据库连接
    
    
            self.right_top_button4 = ttk.Button(text='返回', width=20, command=self.back).pack()
            self.window.protocol("WM_DELETE_WINDOW", self.back)
        def back(self):
            cangkucha(self.window)
    
    # 仓库查询
    class cangkucha:
        def __init__(self, parent_window):
            parent_window.destroy()  # 销毁子界面
            self.window = tk.Tk()
            self.window.title('库存查询')
            self.window.geometry('700x600+70+50')
    
            self.student_id = StringVar()
            self.id = '货物编号:' + ''
            self.name = '货物名称:' + ''
            self.num = '货物数量:' + ''
            self.gid = '供应商编号:' + ''
    
            Button(self.window, text="库存清单", font=tkFont.Font(size=12), command=lambda: cangkudan(self.window), width=20,
                   height=2, fg='white', bg='gray').place(x=20, y=70)
            self.right_top_name_label = Label(text="库存查询", font=('楷体', 15)).pack(pady=15)
            self.right_top_name_entry = Entry(textvariable=self.student_id, font=('楷体', 15)).pack(pady=30)
    
            self.right_top_button3 = ttk.Button(text='确定', width=20, command=self.new_row).pack(pady=30)
            self.right_top_button4 = ttk.Button(text='返回', width=20, command=self.back).pack()
            self.window.protocol("WM_DELETE_WINDOW", self.back)
    
            # 打开数据库连接
            db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
            cursor = db.cursor()  # 使用cursor()方法获取操作游标
            sql = "SELECT * FROM 仓库 WHERE 货物编号 = '%s'" % (self.student_id.get()) # SQL 查询语句
            try:
                # 执行SQL语句
                cursor.execute(sql)
                # 获取所有记录列表
                results = cursor.fetchall()
                for row in results:
                    self.id = '仓库编号:' + row[0]
                    self.name = '货物名称:' + row[1]
                    self.num = '货物数量:' + row[2]
                    self.gid = '供应商编号:' + row[3]
            except:
                print("Error: unable to fetch data")
            db.close()  # 关闭数据库连接
    
        def back(self):
            StartPage(self.window)
    
        def new_row(self):
    
            if self.student_id.get() != '':
                db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
                cursor = db.cursor()  # 使用cursor()方法获取操作游标
                sql = "SELECT * FROM 仓库 where 货物编号 = '%s'" % (self.student_id.get())  # SQL 插入语句
                try:
                    cursor.execute(sql)  # 执行sql语句
                    results = cursor.fetchall()
                    for row in results:
                        self.id = '仓库编号:' + row[0]
                        self.name = '货物名称:' + row[1]
                        self.num = '货物数量:' + row[2]
                        self.gid = '供应商编号:' + row[3]
                    db.commit()  # 提交到数据库执行
    
    
    
                    label = tk.Label(self.window, text='货物信息查看', bg='SkyBlue', font=('楷体', 20), width=70, height=2)
                    label.pack(pady=20)
                    Label(self.window, text=self.id, font=('楷体', 18)).pack(pady=5)
                    Label(self.window, text=self.name, font=('楷体', 18)).pack(pady=5)
                    Label(self.window, text=self.num, font=('楷体', 18)).pack(pady=5)
                    Label(self.window, text=self.gid, font=('楷体', 18)).pack(pady=5)
                    Button(self.window, text="返回首页", width=8, font=tkFont.Font(size=12), command=self.back_1).pack(
                            pady=150)
                    self.window.protocol("WM_DELETE_WINDOW", self.back_1)
                    self.window.mainloop()
                except:
                    db.rollback()  # 发生错误时回滚
                    messagebox.showinfo('提示', '数据库连接失败!')
                db.close()  # 关闭数据库连接
            else:
                messagebox.showinfo('提示', '请填写货物信息!')
    
        def back_1(self):
            cangkucha(self.window)
    
    # 出库
    class chuku:
        def __init__(self, parent_window):
            parent_window.destroy()  # 销毁子界面
    
            self.window = tk.Tk()
            self.window.title('出库表')
            self.window.geometry('700x600+70+50')
    
            self.top_title = Label(self.window, text='出库', bg='SkyBlue', font=('楷体', 20), width=70, height=2)
            self.top_title.pack()
    
            self.var_id = StringVar()  # 声明
            self.var_name = StringVar()  # 声明
            self.var_gender = StringVar()  # 声明
            self.var_age = StringVar()  # 声明
            self.right_top_id_label = Label(text="出库单号", font=('楷体', 15)).pack(pady=15)
            self.right_top_id_entry = Entry(textvariable=self.var_id, font=('楷体', 15)).pack()
            
            self.right_top_name_label = Label(text="货物编号", font=('楷体', 15)).pack(pady=15)
            self.right_top_name_entry = Entry(textvariable=self.var_name, font=('楷体', 15)).pack()
    
            self.right_top_gender_label = Label(text="出库量", font=('楷体', 15)).pack(pady=15)
            self.right_top_gender_entry = Entry(textvariable=self.var_gender, font=('楷体', 15)).pack()
    
            self.right_top_gender_label = Label(text="出库货物", font=('楷体', 15)).pack(pady=15)
            self.right_top_gender_entry = Entry(textvariable=self.var_age, font=('楷体', 15)).pack()
    
            self.right_top_button1 = ttk.Button(text='确定', width=20, command=self.new_row).pack(pady=30)
            self.right_top_button2 = ttk.Button(text='返回', width=20, command=self.back).pack()
            self.window.protocol("WM_DELETE_WINDOW", self.back)  # 捕捉右上角关闭点击
    
            self.id = []
            self.name = []
            self.gender = []
            self.age = []
            # 打开数据库连接
            db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
            cursor = db.cursor()  # 使用cursor()方法获取操作游标
            sql = "SELECT * FROM 出库"  # SQL 查询语句
            try:
                # 执行SQL语句
                cursor.execute(sql)
                # 获取所有记录列表
                results = cursor.fetchall()
                for row in results:
                    self.id.append(row[0])
                    self.name.append(row[1])
                    self.gender.append(row[2])
                    self.age.append(row[3])
            except:
                print("Error: unable to fetch data")
                messagebox.showinfo('提示', '数据库连接失败!')
            db.close()  # 关闭数据库连接
    
        def back(self):
            StartPage(self.window)  # 显示主窗口 销毁本窗口
    
        def new_row(self):
            if self.var_id.get() != '' and self.var_name.get() != '':
                db = pymysql.connect("localhost", "root", "dudu010112", "仓库管理系统2")
                cursor = db.cursor()  # 使用cursor()方法获取操作游标
                sql = "INSERT INTO 出库(出库单号,货物编号,出库量,出库货物)  VALUES ('%s', '%s','%s', '%s')" % \
                        (self.var_id.get(), self.var_name.get(),self.var_gender.get(),self.var_age.get())  # SQL 插入语句
                try:
                    cursor.execute(sql)  # 执行sql语句
                    db.commit()  # 提交到数据库执行
                    messagebox.showinfo('提示!', '出库成功!')
                except:
                    db.rollback()  # 发生错误时回滚
                    messagebox.showinfo('警告!', '数据库连接失败!')
                db.close()  # 关闭数据库连接
            else:
                messagebox.showinfo('警告!', '填写出库信息')
    
    if __name__ == '__main__':
            window = tk.Tk()
            StartPage(window)
    
    

    界面样式
    主界面在这里界面样式插入图片描述

    功能可以自己添加
    在这里插入图片描述
    在这里插入图片描述
    功能界面不在一一展示

    还有MySQL对应文件 这里我不太会发 可以私信我,也可以自己按照对数据库的连接自己做,很简单的,如果觉得有用请点一个赞吧,谢谢

    展开全文
  • Python仓库管理系统

    万次阅读 2020-03-03 23:40:39
    代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # @FileName :store_system.py # @Time :2020/3/3 23:10...# @Function :模拟仓库管理系统 ''' 1.商品清单保存在/opt/shop_info.txt文件中 2.可以查看、增加、删...

    注意:在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进行退出!")
    

    效果图

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • python仓库

    2021-02-20 09:30:47
    用例:从过去十年的比特币价格指数API中提取数据,将其存储在数据库中并显示图表。 然后从数据库中读取... Python库/软件包:URLlib,SQLLite,matplotlib,json,datetime,pandas,statsmodels.tsa.ar_model和numpy
  • Python基于Django的仓库管理系统源码 开发环境: Python 版本为 V 3.9.5 + Django 版本为 V 3.1.12 +(该版本Django才原生支持异步实时通信) Django-rest-framework 版本为 V 3.12.2 + (更高版本的Django-rest-...
  • python入账管理系统源码

    热门讨论 2011-10-30 21:39:52
    很好的源码python的,使用到了python的界面技术,数据库技术以及统计技术,很好很强大!
  • 某工厂的物料管理系统 1) 实现物料的分类管理; 2) 实现部门和员工信息管理; 3) 实现物料的入库和领用管理; 4) 实现物料的转仓管理; 5) 创建触发器,实现物料入库和领用时相应物料库存的自动更新; 6) 创建触发器...
  • python仓库管理

    千次阅读 2020-07-05 08:51:19
    一个简单的仓库管理系统 小白纪念自己写的第一个代码,里面的内容略显冗杂,希望有大神批评指正。这个代码不涉及数据库,全部用字典和列表代替,也仅仅是简单的循环遍历。 """简易物流操作""" """基本功能: 1、...
  • from tkinter import *import picklefrom tkinter import messageboxapp=Tk()app.title('仓库系统')app.geometry('600x400')var_print=StringVar()dict1={}def find_things():try:name = l.get(l.curselection())...
  • 系统实现管理人员登录、注册、密码修改以及各个职务人员查询、添加、修改、删除、统计(tkinter+mysql)
  • 基于python技术的超市仓库管理系统

    千次阅读 2021-06-10 16:04:57
    (2)供应商管理功能:供应商数据管理操作可由与系统连接后的工作人员进行,包括添加、修改或删除供应商数据。 (3)货物类别管理职能:工作人员在与系统连接后,可管理与货物类别有关的信息,包括添加、修改或删除与...
  • python_Django五金店仓库管理系统论文.doc
  • 基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、django 2.2、MySQL 基于DJango开发的仓库管理系统,软件架构:python 3.5、...
  • 代码是采用了django网络框架编写的一个简单版的仓库管理系统,实现了供应商信息管理,入库信息管理,出库信息管理,管理员信息管理等功能。
  • }else if (userObject.equals("仓库管理")) { fristLabel.setText("仓库管理"); sellPanel.removeAll(); DepotPanel depotPanel= newDepotPanel(); sellPanel.add(depotPanel.getMessage()); repaint(); } } } }); ...
  • 本文实例为大家分享了python实现超市管理系统的具体代码,供大家参考,具体内容如下 这个相比上个程序简单很多,首先他没有太过复杂的逻辑关系,它的逻辑线条很清晰,你能很清楚的知道要做什么,只要往自己想的方面...
  • Python信息系统实验:仓库管理这是给物流管理专业设计的仓库信息管理实验。尽量采用基本的方式组织数据、模块与实验。同时体现Browser-Application Server-Database 的三层逻辑。实验要求软件开发工具:Python+ ...
  • Python版超市管理系统可实现下单商品,修改商品数量,删除商品,结算商品。 程序使用元组代表商品,元组的多个元素分别代表商品条码,商品名称,商品单价; 使用dict来表示系统当前仓库中的所有商品,dict的key是...
  • 课设顺利通过,希望对你有帮助
  • 自己的Python课设,水平有限但是是原创。可以拿来学习或者应付作业。
  • 仓库管理系统

    2016-05-11 22:12:40
    开发工具:Myeclipse+Tomcat+MySQL+SSH。
  • 今天主要为大家详细介绍了python实现库存商品管理系统,文中示例代码介绍的非常详细,需要了解更多关于python知识的,领取资料的,可以点击这个。 import re def read_goods(fn): fdic = {} with open(fn, "r...
  • d)采购管理:生成订单。 e)财务管理:费用核算,财务结算。 二、管理员界面 1.登陆界面 a)管理员登陆:不用注册,直接写死管理员账号即可. 2.设备采购管理界面 a)添加库存信息:输入库存信息表对应字段值,完成库存更新,...
  • 仓库管理系统 VB+Access+源代码
  • 项目实现的功能: 用户分三个角色:管理员、仓库管理员、经销商管理员 主要实现的功能包含:药品的进销存操作、客户管理、供应商管理、经营数据统计、数据导出、系统管理等模块

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,234
精华内容 15,293
关键字:

python仓库管理系统代码