大家好,今天我要给大家分享一个超级实用的小项目——“校园宿舍管理系统”。这玩意儿能帮咱们轻松管理宿舍信息,比如学生姓名、宿舍号啥的。而且最后还能把数据导出成PDF文件,方便打印或者存档。是不是很酷?
首先,咱们得准备好工具。这里我用的是Python,它简单易学又强大。另外,还会用到SQLite数据库来存储宿舍信息,还有PyPDF2库用来生成PDF。
咱们先从最基础的开始。首先创建一个SQLite数据库,用来存放宿舍信息。代码如下:
import sqlite3 # 连接到SQLite数据库(如果不存在则会自动创建) conn = sqlite3.connect('dormitory.db') cursor = conn.cursor() # 创建宿舍表 cursor.execute(''' CREATE TABLE IF NOT EXISTS dormitory ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, room_number TEXT NOT NULL ) ''') # 添加一些示例数据 cursor.execute("INSERT INTO dormitory (name, room_number) VALUES (?, ?)", ('张三', 'A101')) cursor.execute("INSERT INTO dormitory (name, room_number) VALUES (?, ?)", ('李四', 'B202')) # 提交更改并关闭连接 conn.commit() conn.close()
接下来就是编写一个函数,用于查询宿舍信息并生成PDF。这里需要用到reportlab库,它可以轻松生成PDF文件。安装方法很简单,直接pip install reportlab就行。
from reportlab.pdfgen import canvas def generate_pdf(): # 打开数据库连接 conn = sqlite3.connect('dormitory.db') cursor = conn.cursor() # 查询所有宿舍信息 cursor.execute("SELECT * FROM dormitory") data = cursor.fetchall() # 创建PDF文件 pdf = canvas.Canvas("dormitory_list.pdf") # 设置字体大小 pdf.setFont("Helvetica", 12) # 写入标题 pdf.drawString(100, 750, "宿舍信息列表") # 写入表格数据 y_position = 700 for row in data: pdf.drawString(100, y_position, f"ID: {row[0]}, 姓名: {row[1]}, 宿舍号: {row[2]}") y_position -= 20 # 保存PDF文件 pdf.save() print("PDF文件已生成!") if __name__ == "__main__": generate_pdf()
运行完这段代码后,你会在当前目录下看到一个名为“dormitory_list.pdf”的文件。打开一看,里面包含了所有宿舍的信息,是不是特别方便?
总结一下,咱们用Python创建了一个简单的宿舍管理系统,还学会了如何把数据导出成PDF文件。这个功能不仅适用于学校,也可以用在公司、图书馆等地方。希望你们喜欢这个小项目!
如果你想进一步扩展这个系统,可以试试添加更多功能,比如删除或修改宿舍信息之类的。总之,编程的世界无限广阔,大家加油吧!