大家好,今天我要给大家分享一个超级实用的小项目——“校园宿舍管理系统”。这玩意儿能帮咱们轻松管理宿舍信息,比如学生姓名、宿舍号啥的。而且最后还能把数据导出成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文件。这个功能不仅适用于学校,也可以用在公司、图书馆等地方。希望你们喜欢这个小项目!
如果你想进一步扩展这个系统,可以试试添加更多功能,比如删除或修改宿舍信息之类的。总之,编程的世界无限广阔,大家加油吧!
