背景介绍
本项目旨在实现一个简易的用户数据存储系统,通过用户输入姓名和年龄,将数据持久化到本地SQLite数据库中。该系统包含文件读写逻辑、表结构创建以及数据验证与存储逻辑,覆盖了核心功能:文件写入、数据处理和数据库交互。项目采用Python作为开发语言,结合SQLite数据库实现数据存储,无需依赖外部框架或服务,满足本地环境需求。
思路分析
- 核心功能模块
- 文件读取:读取用户输入并验证数据格式(姓名和年龄必须为整数)
- 数据存储:使用Python的
sqlite3模块与SQLite数据库交互,实现数据持久化 - 数据验证:在数据处理逻辑中验证输入是否符合预期格式
- 表结构创建:自动生成用户表结构并创建表
- 关键实现
- 数据处理流程:通过命令行或标准输入读取数据,验证输入并存储
- 数据持久化方式:使用SQLite的内置事务机制确保写入操作的原子性
- 本地环境适配:通过命令行输入数据,无需依赖第三方库
代码实现
import sqlite3
def store_user_data():
# 读取输入
user_input = input("请输入姓名和年龄(用空格分隔):")
if not user_input.strip():
print("请确保输入有效数据。")
return
# 分割输入并验证格式
parts = user_input.strip().split()
if len(parts) != 2:
print("输入格式错误。请输入如张三 25。")
return
name, age = parts
if not name.isdigit() or not age.isdigit():
print("输入格式错误。请确保姓名和年龄为数字。")
return
# 数据存储逻辑
conn = sqlite3.connect(':memory:', check_same_tables=True)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
""")
cursor.execute("INSERT OR IGNORE INTO users (name, age) VALUES (?, ?)", (name, int(age)))
conn.commit()
print("数据已写入SQLite数据库,表结构已创建。")
if __name__ == "__main__":
store_user_data()
总结
本项目通过Python与SQLite数据库的结合,实现了用户数据的简单存储与验证功能。核心代码包含读取输入、数据存储、表结构创建和验证逻辑,确保了数据的持久性与完整性。项目覆盖了基础的数据处理和存储需求,适用于本地开发环境。通过命令行输入数据,无需依赖外部服务,实现了高效的本地化数据操作。