Python文件操作:读取学生学号和姓名并按学号大小输出
介绍
Python是一种功能强大且易于学习的编程语言,它提供了许多用于文件操作的内置函数和模块。文件操作是处理和管理数据的重要部分,而在学生管理系统中,读取学生学号和姓名并按学号大小输出是一个常见的任务。本文将介绍如何使用Python编写程序来实现这个任务。
文件读取
首先,我们需要一个包含学生学号和姓名的文件。假设我们有一个名为"students.txt"的文本文件,每一行都包含一个学生的学号和姓名,用空格分隔。例如:
2019001 Alice
2019002 Bob
2019003 Charlie
要读取这个文件,我们可以使用Python的open()
函数和readlines()
方法。下面是一个读取文件并打印每一行的示例代码:
# 打开文件
file = open("students.txt", "r")
# 读取文件的每一行
lines = file.readlines()
# 打印每一行
for line in lines:
print(line)
# 关闭文件
file.close()
数据处理与排序
在读取文件后,我们需要处理和排序学生的学号。首先,我们可以使用Python的split()
方法将每一行拆分为学号和姓名。然后,我们可以创建一个包含学生信息的列表,每个学生信息都是一个包含学号和姓名的元组。最后,我们可以使用Python的sorted()
函数对学生信息进行排序。
下面是一个读取文件、处理数据和按学号排序的示例代码:
# 打开文件
file = open("students.txt", "r")
# 读取文件的每一行
lines = file.readlines()
# 处理数据并排序学生信息
students = []
for line in lines:
# 拆分学号和姓名
student_info = line.split()
student_id = student_info[0]
student_name = student_info[1]
# 添加学生信息到列表
student = (student_id, student_name)
students.append(student)
# 按学号排序学生信息
sorted_students = sorted(students, key=lambda x: x[0])
# 打印按学号排序后的学生信息
for student in sorted_students:
print(student)
# 关闭文件
file.close()
结果输出
最后,我们可以将排序后的学生学号和姓名输出到一个新的文件中。首先,我们需要用open()
函数创建一个新的文件。然后,我们可以使用Python的write()
方法将学生信息逐行写入文件中。
下面是一个将排序后的学生学号和姓名输出到新文件的示例代码:
# 打开文件
file = open("students.txt", "r")
# 读取文件的每一行
lines = file.readlines()
# 处理数据并排序学生信息
students = []
for line in lines:
# 拆分学号和姓名
student_info = line.split()
student_id = student_info[0]
student_name = student_info[1]
# 添加学生信息到列表
student = (student_id, student_name)
students.append(student)
# 按学号排序学生信息
sorted_students = sorted(students, key=lambda x: x[0])
# 创建新文件
output_file = open("sorted_students.txt", "w")
# 将学生信息逐行写入文件
for student in sorted_students:
output_file.write(student[0] + " " + student[1] + "\n")
# 关闭文件
file.close()
output_file.close()
总结
通过使用Python的文件操作功能,我们可以轻松地读取学生学号和姓名,并根据学号大小进行排序和输出。本文介绍了如何使用Python的open()
函数、readlines()
方法、split()
方法、sorted()
函数和write()
方法来实现这个任务。希望本文能帮助读者更好地理解和应用Python的文件操作功能。
如果你对Python的文件操作还有更深入的需求,可以查阅Python官方文档,了解更多关于文件操作的细节和其他有用的函数和方法。