使用 Python 中的 JSON 进行库存管理

pythonjsonserver side programmingprogramming

使用 JSON 进行库存管理:简介

任何处理和跟踪物品或产品的公司都需要进行有效的库存管理。为了保证为客户提供足够的商品供应并避免库存过剩或缺货,它需要监控和控制商品的进出。在本教程中,我们将介绍如何使用 JSON 在 Python 中进行库存管理。

使用 JSON 进行库存管理

定义

JSON,即 JavaScript 对象表示法,是一种简单的数据交换格式,人类和机器人都可以轻松读取和写入。对于多个应用程序和计算机语言之间的数据共享,它通常被使用。JSON 是一种使用键值对的文本格式,其语法与 Python 字典相当。

语法

{"Key 1":"value 1",
"Key 2":"value 2",
.
.
"Key n":"value n"}

JSON 的语法简单易读、易懂。它由花括号内的键值对组成。逗号用于分隔每个键值对。值可以是任何可接受的 JSON 数据类型,包括字符串、数字、布尔值、数组或其他 JSON 对象。键始终是字符串。

算法

  • 步骤 1 - 对于库存中的对象,创建一个 JSON 对象。

  • 步骤 2 - 打开文件或 API 并读取 JSON 数据。

  • 步骤 3 - 根据需要调整库存数据(例如,添加新商品和更新数量)。

  • 步骤 4 - 更新后的库存数据应写回到文件或 API。

  • 步骤 5 - 根据需要重复该过程。

方法

  • 方法 1 - 使用 Python 内置的 JSON 进行 JSON 库存管理模块

  • 方法 2 - 使用自定义 Inventory 类通过 JSON 进行库存管理

方法 1:使用 Python 内置的 JSON 模块通过 JSON 进行库存管理

在此方法中,我们将使用 Python 内置的 JSON 模块读取和写入 JSON 文件的数据。要添加、删除和检查库存中的对象,我们将构建一个简单的库存管理系统。关键是 -

示例

import json

# 从文件加载库存数据
with open('inventory.json', 'r') as f:
    inventory = json.load(f)

# 将新物品添加到库存的函数
def add_item():
   item_name = input('Enter item name: ')
   item_price = int(input('Enter item price: '))
   item_quantity = int(input('Enter item quantity: '))
   inventory[item_name] = {
      'price': item_price,
      'quantity': item_quantity
   }
   save_inventory()

# 从库存中移除物品的函数
def remove_item():
   item_name = input('Enter item name: ')
   if item_name in inventory:
      del inventory[item_name]
      save_inventory()
   else:
      print('Item not found in inventory')

# 显示库存的功能
def display_inventory():
   print('{:<15} {:<10} {:<10}'.format('Item', 'Price', 'Quantity'))
   for item_name, item_data in inventory.items():
      print('{:<15} {:<10} {:<10}'.format(item_name, item_data['price'], item_data['quantity']))

# 将库存保存到文件的功能
def save_inventory():
   with open('inventory.json', 'w') as f:
      json.dump(inventory, f)

# 主程序循环
while True:
   print('1. Add item')
   print('2. Remove item')
   print('3. Display inventory')
   print('4. Exit')
   choice = int(input('Enter choice: '))
   if choice == 1:
      add_item()
   elif choice == 2:
      remove_item()
   elif choice == 3:
      display_inventory()
   elif choice == 4:
      break
   else:
      print('Invalid choice')

输出

1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 1
Enter item name: Apple
Enter item price: 10
Enter item quantity: 20
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 1
Enter item name: Banana
Enter item price: 20
Enter item quantity: 30
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 3
Item           Price      Quantity  
Apple          10         20        
Banana         20         30        
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 2
Enter item name: Apple
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 3
Item           Price      Quantity  
Banana         20         30        
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 4

方法 2:使用自定义 Inventory 类通过 JSON 进行库存管理

在这种方法中,我们将构建一个特殊的 Inventory 类,该类将包含库存数据并提供添加、删除和查看库存项目的方法。Python 语言的内置 JSON 模块将用于读取和写入 JSON 文件的数据。以下是关键 −

示例

import json

class Inventory:
def _init_(self, filename):
   self.filename = filename
   # Load the inventory data from the file
   with open(filename, 'r') as f:
      self.data = json.load(f)

def add_item(self, name, price, quantity):
   self.data[name] = {'price': price, 'quantity': quantity}
   self.save()

def remove_item(self, name):
   if name in self.data:
      del self.data[name]
      self.save()
   else:
      print('Item not found in inventory')

def display_inventory(self):
   print('{:<15} {:<10} {:<10}'.format('Item', 'Price', 'Quantity'))
   for item_name, item_data in self.data.items():
      print('{:<15} {:<10} {:<10}'.format(item_name, item_data['price'], item_data['quantity']))

def save(self):
   with open(self.filename, 'w') as f:
      json.dump(self.data, f)
#Create an inventory object
inventory = Inventory('inventory.json')

#Main program loop
while True:
print('1. Add item')
print('2. Remove item')
print('3. Display inventory')
print('4. Exit')
choice = int(input('Enter choice: '))
if choice == 1:
name = input('Enter item name: ')
price = int(input('Enter item price: '))
quantity = int(input('Enter item quantity: '))
inventory.add_item(name, price, quantity)
elif choice == 2:
name = input('Enter item name: ')
inventory.remove_item(name)
elif choice == 3:
inventory.display_inventory()
elif choice == 4:
break
else:
print('Invalid choice')

输出

1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 1
Enter item name: Apple
Enter item price: 10
Enter item quantity: 20
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 1
Enter item name: Banana
Enter item price: 20
Enter item quantity: 30
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 3
Item           Price      Quantity  
Apple          10         20        
Banana         20         30        
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 2
Enter item name: Apple
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 3
Item           Price      Quantity  
Banana         20         30        
1. Add item
2. Remove item
3. Display inventory
4. Exit
Enter choice: 4

结论

总之,库存控制是管理公司的关键部分。使用 Python 和 JSON 可以创建一个简单而高效的库存管理系统,该系统可以简单地存储和处理库存数据。在此示例中,我们展示了如何使用两种不同的 Python 实现策略进行基于 JSON 的库存管理。第一种方法通过将库存数据写入字典来创建 JSON 文件。虽然这种策略简单易用,但它存在重大缺陷。例如,不支持跟踪库存随时间的变化或支持多个库存。第二种技术具有添加、删除和显示事物的方法,并使用类来包含库存数据。

这种方法比第一种方法更灵活、更可扩展,因此更容易扩展以处理多个库存并维护库存历史记录。策略的选择将取决于库存管理系统的独特要求。两种方法都有优点和缺点。无论采用哪种方法,JSON 和 Python 都提供了强大的配对来维护库存数据,既简单又高效。


相关文章