如何使用Python将文件保存到U盘及SD卡?含食谱数据库存储场景
Python 保存文件到U盘/SD卡的实现方法
不管是U盘还是SD卡,系统都会将它们挂载为本地文件系统的一个目录,因此核心操作就是找到对应的挂载路径,然后像操作本地文件一样进行读写。以下是具体实现步骤和示例:
一、确定挂载路径
不同操作系统的挂载路径形式不同:
- Windows:U盘/SD卡会被分配一个盘符(如
D:\、E:\),可通过资源管理器查看 - Linux:通常挂载在
/media/[用户名]/[设备名]目录下,可通过df -h命令查看 - macOS:默认挂载在
/Volumes/[设备名]目录下,可通过访达查看
二、保存文本/结构化食谱数据
1. 保存纯文本食谱到U盘
适用于单条简单食谱的保存:
# Windows下示例(U盘盘符为D:\) usb_mount_path = r"D:\grandma_ma_po_tofu.txt" recipe_content = """ 麻婆豆腐 食材:嫩豆腐300g、牛肉末100g、豆瓣酱2勺、生抽1勺、姜蒜末适量 步骤: 1. 豆腐切小块,开水焯水2分钟捞出备用 2. 热油爆香姜蒜末,加入牛肉末炒至变色 3. 加入豆瓣酱炒出红油,加少许清水、生抽调味 4. 放入豆腐小火焖煮3分钟,勾芡后出锅撒葱花 """ # 写入文件 with open(usb_mount_path, "w", encoding="utf-8") as file: file.write(recipe_content)
2. 保存多条结构化食谱到SD卡(CSV格式)
CSV适合批量存储结构化数据,方便后续查看和编辑:
import csv # Windows下SD卡盘符为E:\ sd_mount_path = r"E:\grandma_recipes.csv" # 食谱数据列表 recipes_data = [ ["菜名", "食材", "步骤"], ["麻婆豆腐", "嫩豆腐、牛肉末、豆瓣酱", "1. 焯水... 2. 炒料..."], ["番茄炒蛋", "番茄2个、鸡蛋3个", "1. 鸡蛋打散炒熟盛出 2. 番茄炒出沙后加鸡蛋..."], ["清炒菠菜", "菠菜、蒜末、盐", "1. 菠菜洗净切段 2. 热油爆蒜,翻炒菠菜加盐出锅"] ] # 写入CSV文件 with open(sd_mount_path, "w", newline="", encoding="utf-8") as csv_file: writer = csv.writer(csv_file) writer.writerows(recipes_data)
3. 保存为SQLite数据库(适合食谱数据库系统)
如果你的项目是完整的食谱数据库,用SQLite更方便查询和管理数据:
import sqlite3 # SD卡上的数据库文件路径 db_path = r"E:\grandma_recipes.db" # 连接数据库(不存在则自动创建) conn = sqlite3.connect(db_path) cursor = conn.cursor() # 创建食谱表(首次运行创建,后续跳过) cursor.execute(''' CREATE TABLE IF NOT EXISTS recipes ( id INTEGER PRIMARY KEY AUTOINCREMENT, dish_name TEXT NOT NULL, ingredients TEXT, cooking_steps TEXT, notes TEXT ) ''') # 插入一条新食谱 cursor.execute(''' INSERT INTO recipes (dish_name, ingredients, cooking_steps, notes) VALUES (?, ?, ?, ?) ''', ( "红烧肉", "五花肉500g、冰糖、生抽、料酒、八角", "1. 五花肉切块焯水 2. 炒糖色下肉翻炒...", "小火焖煮40分钟更入味" )) # 提交更改并关闭连接 conn.commit() conn.close()
注意事项
- 权限问题:确保当前用户对U盘/SD卡有读写权限(Linux/macOS可能需要调整挂载权限)
- 路径可靠性:避免硬编码固定路径,可在程序中添加输入框让用户选择存储路径,更适合给长辈使用
- 安全操作:文件写入完成后,确保关闭文件对象,再通过系统菜单安全弹出设备,防止数据损坏
内容的提问来源于stack exchange,提问作者MiniSkoot32
相关产品推荐
相关产品推荐

