Python:在类中定义列表

时间:2016-12-30 09:20:15

标签: list class python-3.5

我找不到答案,所以我决定发布这个问题:

我正在重写我的代码以使其面向对象,我遇到了一些困难:

class Validation():
    def __init__(self, input=path_property, output=validation_output):
        self.input = input
        self.outpu = output
        self.groupList = []
    def __str__(self):
        return 'Input: %s\nOutput: %s\nGroup List: %s' % (self.input, self.outpu, self.groupList)

    def csvExtract(self, d, groupList, n):
        with open(self.input, 'r') as csv_input:
            reader = csv.reader(csv_input, delimiter=',')
            for d in reader:
                self.groupList.append(d[n])
        self.groupList.pop(0)

if __name__ == '__main__':
    validate = Validation()
    validate.csvExtract('col', groupList, 3)
    print(groupList)
    print(validate)

此代码只读取.csv文件,并将第三列的元素添加到列表中。当它没有被放入类中时,这很好用,并且在代码的开头定义了一个列表。

现在我明白了:

Traceback (most recent call last):
  File "C:/path/validation.py", line 34, in <module>
    validate.csvExtract('col', groupList, 3)
NameError: name 'groupList' is not defined

我还打算提出csvExtract()d - 表示列,n - 表示列数)的参数 __init__()

我尝试了几种不同的方法,你能帮我解决这个问题吗?

0 个答案:

没有答案