定义函数createFile创建一个文本文件person.txt,将n个Person对象写入文件,再定义函数readFile将文件中的信息读出显示在屏幕上。
时间: 2024-03-10 08:47:19 浏览: 29
不显示由CreateFile()函数创建的文本文件
好的,以下是一个Python实现:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def createFile(n):
with open("person.txt", "w") as f:
for i in range(n):
name = input("请输入第{}个人的姓名:".format(i+1))
age = int(input("请输入第{}个人的年龄:".format(i+1)))
person = Person(name, age)
f.write("{} {}\n".format(person.name, person.age))
def readFile():
with open("person.txt", "r") as f:
lines = f.readlines()
for line in lines:
name, age = line.strip().split()
person = Person(name, age)
print("姓名:{},年龄:{}".format(person.name, person.age))
n = int(input("请输入要写入文件中的Person对象数量:"))
createFile(n)
print("成功将{}个Person对象写入文件!".format(n))
print("接下来读取文件中的信息:")
readFile()
```
使用时,首先调用`createFile(n)`函数将`n`个`Person`对象写入文件。写入成功后,再调用`readFile()`函数将文件中的信息读出并显示在屏幕上。在`readFile()`函数中,我们使用`with open() as f:`的方式打开文件,然后使用`readlines()`函数将文件内容读取到一个列表中。接着,我们使用`strip()`函数去掉每行字符串末尾的空格和换行符,并使用`split()`函数将每行字符串按空格分隔成姓名和年龄两个部分。最后,我们创建一个`Person`对象,并将其姓名和年龄打印出来。
阅读全文