我假设“文本文件”是指某种csv/tsv格式,这是一个非常常见的用例。它还意味着csv文件有某种头,它定义了与类的字段名相对应的字段名,因此
DictReader
类为您提供适当的抽象级别。
csv模块是python核心模块的一部分,因此您只需导入它,不需要安装任何东西
下面的代码片段可以用作框架来进一步构建围绕它的代码
import csv
with open('profiles.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
p = Profile(given_name=row['given_name']
, family_name=row['family_name']
, email=row['email']
, gender=row['gender']
, status=row['status']
)
print(p) # print string representation of the class
尽管如此,如果dictreader不适合您的需要,您也可以自己分析文本文件的每一行,csv模块文档中有一些示例。