Python文件中输入某个学生的学号来查询或修改或删除该学生所在行的信息
时间: 2024-03-01 09:51:29 浏览: 72
好的,这个问题可以通过以下步骤来实现:
1. 打开文件并读取所有行:
```python
with open('students.txt', 'r') as f:
lines = f.readlines()
```
这里假设你的学生信息存储在名为 `students.txt` 的文本文件中。
2. 遍历每一行,找到与目标学生学号匹配的行:
```python
for i, line in enumerate(lines):
if line.startswith(student_id):
# do something with this line
break
```
这里假设每一行的格式为:`学号 姓名 年龄 性别`,并且学号是唯一的。
3. 如果是查询操作,直接输出该行信息即可:
```python
print("该学生的信息为:", line)
```
4. 如果是修改操作,可以使用 `split()` 方法将该行信息分隔成各个字段,然后修改对应字段并重新拼接成一行:
```python
fields = line.split()
fields[1] = new_name
new_line = ' '.join(fields) + '\n'
lines[i] = new_line
```
这里假设你想要修改学生的姓名,并将新的姓名存储在变量 `new_name` 中。
5. 如果是删除操作,直接删除该行:
```python
del lines[i]
```
6. 最后,将修改后的所有行写回文件中:
```python
with open('students.txt', 'w') as f:
f.writelines(lines)
```
注意,这里使用的是 `w` 模式,会覆盖原有文件内容。如果你想要将修改后的内容追加到文件末尾,可以使用 `a` 模式。
阅读全文