Txt 文件中有两列数据,分别是学号和姓名,要求读取文件,并输出重复学号的姓名
时间: 2024-03-23 16:42:16 浏览: 117
实现一个数据单元,包括学号和姓名两部分。编写两个线程,一个线程往数据单元中写,另一个线程往出读。要求每写一次就往出读一次。
5星 · 资源好评率100%
好的,我可以帮您写一个 Python 脚本来实现这个功能。假设您的 txt 文件名为 "students.txt",其中第一列为学号,第二列为姓名,每一行为一条记录,可以使用以下代码来实现:
```python
# 定义一个空字典,用于存储学号和对应的姓名
students = {}
# 读取文件并解析每一行记录
with open('students.txt', 'r') as f:
for line in f:
# 将每一行记录按照空格分割成两个部分
parts = line.strip().split()
if len(parts) != 2: # 跳过格式不正确的记录
continue
sno, name = parts
if sno in students: # 如果学号已经存在,输出对应的姓名
print(f"重复学号 {sno} 的姓名为 {name} 和 {students[sno]}")
else:
students[sno] = name # 否则将学号和姓名存储到字典中
```
这段代码会逐行读取文件,将每一行按照空格分割成学号和姓名两个部分,然后存储到一个字典中。如果遇到已经存在的学号,就会输出对应的两个姓名。如果文件格式不正确(例如某一行只有一个字段或者有多余的空格),则会直接跳过该行记录。
阅读全文