为什么这段代码不对?""" 输入学生个人信息并写入到文件data.txt中。 """ f=open("data.txt","w") f.write("sno\tsname\tsage\n") stext = input() or "End" while stext != "End": stu = stext.split(",") f.write(" ",join(stu)+"\n") stext = input() or "End" f.seek(0) print(f.read()) f.close()
时间: 2023-09-25 08:09:15 浏览: 140
读取excel不同sheet内容并写入到txt文件中.zip
这段代码存在多个问题,需要进行修正才能正确地将学生信息写入到文件中。以下是对这个代码进行修正后的示例:
```python
# 打开文件并写入表头
with open("data.txt", "w") as f:
f.write("sno\tsname\tsage\n")
# 循环输入学生信息
stext = input() or "End"
while stext != "End":
stu = stext.split(",")
f.write("\t".join(stu) + "\n")
stext = input() or "End"
# 打开文件并输出内容
with open("data.txt", "r") as f:
print(f.read())
```
修正后的代码首先使用 `with` 语句打开文件,并在语句块中使用 `write()` 方法写入表头,即学生信息的列名。接着,代码使用 `input()` 函数循环读取用户输入的学生信息,如果输入的是 `End`,则退出循环。对于每个学生信息,代码使用 `split()` 方法将其按照逗号分隔成一个列表,并使用 `join()` 方法将列表中的元素用制表符连接成一个字符串,然后将其写入文件中。需要注意的是,这里使用的是制表符 `\t` 而不是空格。
输入学生信息完成后,代码使用 `with` 语句再次打开文件,并使用 `read()` 方法读取文件内容,最后使用 `print()` 函数输出文件内容到屏幕上。需要注意的是,在第一个 `with` 语句中已经完成了写入操作,所以在第二个 `with` 语句中不需要再次写入文件。
在修正后的代码中,使用了 `with` 语句来打开文件,这样可以自动关闭文件,避免资源泄漏。同时,使用了制表符来分隔学生信息,这样可以保证输出的内容对齐,更加美观。
阅读全文