python的仓库管理脚本
时间: 2024-03-26 17:36:35 浏览: 64
好的,以下是一个基于 Python 的仓库管理脚本:
```python
import csv
class Item:
def __init__(self, name, quantity):
self.name = name
self.quantity = quantity
class Warehouse:
def __init__(self):
self.items = []
def add_item(self, name, quantity):
for item in self.items:
if item.name == name:
item.quantity += quantity
return
new_item = Item(name, quantity)
self.items.append(new_item)
def remove_item(self, name, quantity):
for item in self.items:
if item.name == name:
if item.quantity >= quantity:
item.quantity -= quantity
if item.quantity == 0:
self.items.remove(item)
return
else:
print(f"Not enough {name} in stock!")
return
print(f"{name} not found in stock!")
def display_items(self):
print("Current items in warehouse:")
for item in self.items:
print(f"{item.name}: {item.quantity}")
def export_to_csv(self, filename):
with open(filename, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Quantity'])
for item in self.items:
writer.writerow([item.name, item.quantity])
def import_from_csv(self, filename):
with open(filename, mode='r') as file:
reader = csv.reader(file)
next(reader) # skip header row
for row in reader:
self.add_item(row[0], int(row[1]))
# Example usage:
warehouse = Warehouse()
warehouse.import_from_csv('inventory.csv')
while True:
print("\nSelect an option:")
print("1. Add item")
print("2. Remove item")
print("3. Display items")
print("4. Export to CSV")
print("5. Quit")
choice = input("Enter choice (1-5): ")
if choice == '1':
name = input("Enter item name: ")
quantity = int(input("Enter quantity: "))
warehouse.add_item(name, quantity)
elif choice == '2':
name = input("Enter item name: ")
quantity = int(input("Enter quantity: "))
warehouse.remove_item(name, quantity)
elif choice == '3':
warehouse.display_items()
elif choice == '4':
filename = input("Enter filename: ")
warehouse.export_to_csv(filename)
elif choice == '5':
break
else:
print("Invalid choice!")
```
这个仓库管理脚本基于之前的代码,增加了以下功能:
1. 从 CSV 文件中导入物品数据
2. 将物品数据导出到 CSV 文件
3. 提供交互式命令行界面,可以添加、移除、展示和导出物品数据
你可以将这个脚本保存为一个 Python 文件,然后在命令行执行它来管理你的仓库。在执行之前,你需要在当前目录下创建一个名为 `inventory.csv` 的 CSV 文件,用于存储物品数据。当你第一次运行脚本时,它会从 `inventory.csv` 文件中导入物品数据。如果你想使用其他文件名,可以在 `import_from_csv` 方法和命令行界面中修改文件名。
注意,这个脚本没有做任何输入验证,如果你输入了错误的数据,它可能会崩溃或者导致不正确的结果。在实际使用中,你应该添加输入验证和错误处理来增强脚本的健壮性。
阅读全文