Python 如何遍历列表,从列表中提取信息,并将其放在文件中的单独行中

Python 如何遍历列表,从列表中提取信息,并将其放在文件中的单独行中,python,list,file,python-3.x,loops,Python,List,File,Python 3.x,Loops,我的问题是,我需要第二、第三、第四等人的数据成为新的列表a,并写在第一、第二等人下面的行上。因此,信息都是格式化的,并放在文件的新行上 XML文件的结构: <people> <person> <fname> Travis </fname> <lname> Anderson </lname> <age> 24 </age> <school> Nebraska </school>

我的问题是,我需要第二、第三、第四等人的数据成为新的列表a,并写在第一、第二等人下面的行上。因此,信息都是格式化的,并放在文件的新行上

XML文件的结构:

<people>
<person>
<fname> Travis </fname>
<lname> Anderson </lname>
<age> 24 </age>
<school> Nebraska </school>
</person>
<person>
<fname> James </fname>
<lname> Kritten </lname>
<age> 23 </age>
<school> Texas State </school>
</person>
<person>
<fname> Kaine </fname>
<lname> Allen </lname>
<age> 27 </age>
<school> Michigan State </school>
</person>
</people>
当我执行函数时,我会得到第一人称的信息,这正是我想要的

"Travis Anderson. He is 24 years old. He went to Nebraska."
但对于其他人,我不知道如何让他们以第一人称的方式书写。像这样

"Travis Anderson. He is 24 years old. He went to Nebraska."
"James Kritten. He is 23 years old. He went to Texas State."
"Kaine Allen. He is 27 years old. He went to Michigan State."
我需要一些循环,但我不知道从哪里开始

信息重复(如果有帮助的话,每隔5个索引就有不同的变量。)

为了展示这个库有多简单,我用两行代码提取了列表中的所有文本:

from bs4 import BeautifulSoup
soup = BeautifulSoup(xml, 'lxml')
[i for i in soup.stripped_strings]
输出:


我需要帮助,所以我要问问题。我已经干了11个小时了。@that一个家伙休息一下"Travis Anderson. He is 24 years old. He went to Nebraska." "James Kritten. He is 23 years old. He went to Texas State." "Kaine Allen. He is 27 years old. He went to Michigan State."
xml = '''
<people>
<person>
<fname> Travis </fname>
<lname> Anderson </lname>
<age> 24 </age>
<school> Nebraska </school>
</person>
<person>
<fname> James </fname>
<lname> Kritten </lname>
<age> 23 </age>
<school> Texas State </school>
</person>
<person>
<fname> Kaine </fname>
<lname> Allen </lname>
<age> 27 </age>
<school> Michigan State </school>
</person>
</people>'''


from bs4 import BeautifulSoup
soup = BeautifulSoup(xml, 'lxml')
for p in soup.find_all('person'):
    fullname = p.fname.text.strip() + p.lname.text.rstrip()
    age = p.age.text.strip()
    school = p.school.text.strip()
    print("{}. He is {} years old. He went to {}.".format(fullname, age, school))
Travis Anderson. He is 24 years old. He went to Nebraska.
James Kritten. He is 23 years old. He went to Texas State.
Kaine Allen. He is 27 years old. He went to Michigan State.
from bs4 import BeautifulSoup
soup = BeautifulSoup(xml, 'lxml')
[i for i in soup.stripped_strings]
['Travis', 'Anderson', '24', 'Nebraska', 'James', 'Kritten', '23', 'Texas State', 'Kaine', 'Allen', '27', 'Michigan State']