在python中,我需要创建一个类“Student”的43个实例,该类包含变量first_name、middle_name、last_name、Student_id,方法是读入一个文件(学生.txt)分析它。文本文件如下所示:
Last Name Midle Name First Name Student ID
----------------------------------------------
Howard Moe howar1m
Howard Curly howar1c
Fine Lary fine1l
Howard Shemp howar1s
Besser Joe besse1j
DeRita Joe Curly derit1cj
Tiure Desilijic Jaba tiure1jd
Tharen Bria thare1b
Tai Besadii Durga tai1db
Hego Damask hego1d
Lannister Tyrion lanni1t
Stark Arya stark1a
Clegane Sandor clega1s
Targaryen Daenerys targa1d
Bombadil Tom bomba1t
Brandybuck Meriadoc brand1m
Took Pregrin took1p
McCoy Leonard mccoy1l
Scott Montgomery scott1m
Crusher Wesley crush1w
Montoya Inigo monto1i
Rugen Tyrone rugen1t
Solo Han solo1h
Corey Carl corey1c
Flaumel Evelyn flaum1e
Taltos Vlad talto1v
e'Drien Morrolan edrie1m
Watson John watso1j
McCoy Ebenezar mccoy1e
Carpenter Molly carpe1m
Graystone Zoe grays1z
Adama William adama1w
Adama Joseph Leland adama1l
Roslin Laura rosli1l
Baltar Gaius balta1g
Tigh Ellen tigh1e
Tigh Saul tigh1s
Cottle Sherman cottl1s
Zarek Thomas zarek1t
Murphy James Alexander murph1a
Sobchak Walter sobch1w
Dane Alexander dane1a
Gruber Hans grube1h
Biggs John Gil biggs1gj
该班学生是:
^{pr2}$什么是最容易理解的方法学生.txt'并创建学生的每个实例?在
我不知道你的输入文件是如何安排的,所以这里有一个小处理来处理没有中间名的情况。在
分步教程
要读取文件内容,请使用
io.open
。如果任何名称有强调字符,请不要忘记指定文件编码。在在这里,您读取整个内容并将其存储在内存中(数据量很小)。也可以使用迭代器。在
然后,可以使用
^{pr2}$str.splitlines()
逐行拆分内容:你会得到这样的信息:
您有(几乎)固定长度的线,所以您可以使用切片来提取字段。在
以下是您可以对标题执行的操作:
你会得到:
您可以删除连字符行:
对于每一行,也可以使用切片提取值。注:切片指数略有不同:
您将得到带有尾随空格的值:
若要避免尾随空格,请使用
str.strip()
函数:你会得到:
此时,我建议您将记录存储为列表中的
dict
:你会得到:
但您也可以使用一个类:
建立学生名单:
你会得到:
相关问题 更多 >
编程相关推荐