我们提供学生信息管理系统招投标所需全套资料,包括学工系统介绍PPT、学生管理系统产品解决方案、
学生管理系统产品技术参数,以及对应的标书参考文件,详请联系客服。
大家好,今天咱们来聊聊怎么用Python写一个学生管理信息系统,而且还要结合一下.docx文件,这样能更直观地展示数据。这个系统呢,主要是为了方便学校或者老师管理学生的相关信息,比如姓名、学号、成绩之类的。而“咸阳”嘛,就是我随便选的一个城市名,你可以换成你自己的地方。
先说说背景。现在大多数学校都用电子系统来管理学生信息,但有时候可能需要把数据导出成文档格式,比如Word文档,这样打印起来比较方便。所以,我们就想搞一个系统,既能管理数据,又能生成.docx文件。
那么,具体怎么做呢?首先,我们需要一个数据库或者数据结构来保存学生的信息。Python里最简单的就是用字典或者列表,不过如果以后要扩展的话,还是用数据库比较好。不过今天咱们先用字典来模拟,等后面有时间再升级。
接下来是代码部分。我们先导入一些库,比如python-docx,这个库是用来操作.docx文件的。还有os模块,用来检查文件是否存在,避免重复创建。
打开Python编辑器,新建一个文件,命名为student_management.py。然后开始写代码:
from docx import Document
import os
# 定义学生信息的数据结构
students = []
def add_student():
name = input("请输入学生姓名:")
student_id = input("请输入学号:")
grade = input("请输入成绩:")
student = {
"name": name,
"student_id": student_id,
"grade": grade
}
students.append(student)
print("学生信息添加成功!")
def view_students():
if not students:
print("当前没有学生信息。")
return
print("\n学生信息如下:")
for idx, student in enumerate(students):
print(f"{idx + 1}. 姓名:{student['name']} | 学号:{student['student_id']} | 成绩:{student['grade']}")
def save_to_docx(filename="students.docx"):
if os.path.exists(filename):
print(f"文件 {filename} 已存在,是否覆盖?(y/n)")
choice = input().lower()
if choice != 'y':
print("取消保存。")
return
doc = Document()
doc.add_heading('学生信息表', 0)
table = doc.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '姓名'
hdr_cells[1].text = '学号'
hdr_cells[2].text = '成绩'
for student in students:
row_cells = table.add_row().cells
row_cells[0].text = student['name']
row_cells[1].text = student['student_id']
row_cells[2].text = student['grade']
doc.save(filename)
print(f"学生信息已保存到 {filename}")
def main():
while True:
print("\n--- 学生管理系统 ---")
print("1. 添加学生")
print("2. 查看学生")
print("3. 保存到.docx")
print("4. 退出")
choice = input("请选择操作(1-4):")
if choice == '1':
add_student()
elif choice == '2':
view_students()
elif choice == '3':
save_to_docx()
elif choice == '4':
print("程序结束。")
break
else:
print("无效选择,请重新输入。")
if __name__ == "__main__":
main()
这段代码应该能运行了。你可以试试看,添加几个学生,然后保存成.docx文件。打开看看是不是有表格显示学生信息。

不过,这里有个问题,就是每次运行程序的时候,数据都会被清空,因为students是一个全局变量,程序一关闭就没了。如果你想持久化数据,就需要用文件或者数据库来保存。

比如,可以写一个读取文件的功能,每次启动程序的时候加载之前保存的学生信息。不过这个功能咱们暂时不加,先让程序跑起来再说。
再来说说.docx文件的处理。我们用了python-docx这个库,它非常强大,可以创建、修改和读取.docx文件。比如,上面的代码中,我们创建了一个表格,把学生信息填进去,然后保存为students.docx。
如果你想进一步美化这个文档,比如设置字体、颜色、页眉页脚,也可以用python-docx实现。不过对于现在的项目来说,已经够用了。
现在,我们可以把这个系统叫做“咸阳学生管理信息系统”,虽然其实只是个简单的控制台程序,但至少能实现基本功能。如果你有兴趣,可以继续扩展功能,比如添加删除学生、按成绩排序、搜索学生等功能。
另外,还可以考虑用GUI界面,比如用Tkinter或者PyQt来做一个图形界面,这样用户操作起来更方便。不过对于初学者来说,先掌握控制台版本是关键。
总结一下,今天我们用Python写了一个简单的学生管理信息系统,能够添加、查看学生信息,并且可以将数据保存为.docx文件。这个系统虽然简单,但已经具备了实际应用的基础。希望你能跟着代码一步步实践,加深对Python和文件处理的理解。
最后提醒一下,如果遇到什么错误,比如找不到python-docx库,可以用pip install python-docx来安装。另外,注意文件路径的问题,确保保存的.docx文件不会被覆盖或者丢失。
以上就是今天的分享,希望对你有所帮助。如果你有任何问题,欢迎留言交流。