Python如何在类定义中初始化Reader对象

时间:2016-07-08 20:53:26

标签: python class

我想创建一个从csv文件中收集数据的单例类,为了做到这一点,它需要一个类型为DictReader的数据成员;但是我不确定如何在类定义中初始化这个成员,因为它只能像这样初始化:

with open('sourceFile.csv') as source:
    reader = csv.DictReader(source)

因为Python不允许你在没有初始化的情况下声明变量,所以我需要知道如何在类Singleton中初始化reader对象。

1 个答案:

答案 0 :(得分:1)

您正在寻找类似的东西:

class MySingleton(object):
    def __init__(self, source):
        self.my_reader = DictReader(source)


if __name__ == '__main__':
    singleton = MySingleton(sourcefile)
    for row in singleton.my_reader:
        # do stuff