自主上传美食功能python
时间: 2023-06-28 15:12:48 浏览: 82
以下是一个简单的 Python 程序,可以实现自主上传美食图片和信息的功能:
```python
import os
# 定义菜品类
class Dish:
def __init__(self, name, price, description, image_path):
self.name = name
self.price = price
self.description = description
self.image_path = image_path
# 定义菜单类
class Menu:
def __init__(self):
self.dishes = []
# 添加菜品
def add_dish(self, dish):
self.dishes.append(dish)
# 显示菜单
def display_menu(self):
for dish in self.dishes:
print(f'{dish.name} - ${dish.price} - {dish.description}')
# 上传菜品
def upload_dish(self):
# 获取用户输入
name = input('请输入菜品名:')
price = input('请输入价格:')
description = input('请输入描述:')
image_path = input('请输入图片路径:')
# 创建菜品对象并添加到菜单中
dish = Dish(name, price, description, image_path)
self.add_dish(dish)
# 保存菜品图片到本地
cwd = os.getcwd() # 获取当前工作目录
image_name = os.path.basename(image_path) # 获取图片文件名
new_image_path = os.path.join(cwd, 'images', image_name) # 构建新的图片路径
os.makedirs(os.path.dirname(new_image_path), exist_ok=True) # 创建文件夹
os.rename(image_path, new_image_path) # 移动图片文件
# 创建菜单对象
menu = Menu()
# 添加默认菜品
menu.add_dish(Dish('糖醋排骨', 15, '红糖醋汁烤制,口感甜香酸爽', 'images/tangcupaigu.jpg'))
menu.add_dish(Dish('宫保鸡丁', 12, '鸡肉、花生米、辣椒爆炒,鲜香辣口', 'images/gongbaojiding.jpg'))
menu.add_dish(Dish('清炒时蔬', 8, '当季蔬菜清炒,营养健康', 'images/qingchaoshishu.jpg'))
# 显示菜单
menu.display_menu()
# 上传新菜品
menu.upload_dish()
# 显示更新后的菜单
menu.display_menu()
```
需要注意的是,程序中使用了 `os` 模块来处理文件路径和文件操作。在运行程序前,需要确保存在一个名为 `images` 的文件夹,用于存储上传的菜品图片。
阅读全文