1

我需要从一个单独的文件中导入一个类(我这样做了),让它解析列表中的一个元素,并将解析后的文件存储为字典。

我需要你的帮助。我以为会有回报,但没有,所以我不知道我应该做什么。我认为这是可能的,我只是不知道如何。

我到目前为止的代码是这样的:

class GCCCOMPARE():
    def __init__(self, list):
        self.GCCLIST = list 
        self.compare()
        self.GCCN = []
        self.GCCPLUS = []


    def compare(self):
        n=0
        while n<size(self.GCCLIST):
            self.GCCN=self.GCCLIST[n]
            self.GCCPLUS=self.GCCLIST[n+1]
            GCCFORMAT.__init__(GCCN)

我得到的另一个文件中的代码是这样的:

class GCCFORMAT():
    def __init__(self, file):
        #print"New GCC Load"
        self.pList = [];
        self.dList = [];
        self.file = file;
        self.parse()

    def parse(self):
        with open(self.file, "r") as icdhelper:
            for line in icdhelper:
                sArr = line.split()
                self.pList.append(PARAM(sArr[0], sArr[4], sArr[2], sArr[3], sArr[6], sArr[7]))

我怀疑这对于任何有经验的人来说都会很困难,但即便如此,还是非常感谢大家!

4

2 回答 2

1

当您创建该类的实例GCCFORMAT,它会为您进行解析并将结果存储在实例属性中pList。只需访问该属性:

gcc_format = GCCFORMAT(GCCN)
results = gcc_format.pList
于 2013-09-27T17:49:11.780 回答
0

这是一个可能的修复:

GCCCOMPARE.py

import GCCFORMAT
class GCCCOMPARE():
  def __init__(self, list):
    self.GCCLIST = list
    self.GCCDICT = {}
    self.compare()

  def compare(self):
    for i,element in enumerate(self.GCCLIST):
      data = GCCFORMAT.GCCFORMAT(element)
      self.GCCDICT.update({i:data.pList})

GCCFORMAT.py

class GCCFORMAT():
  def __init__(self, file):
    #print"New GCC Load"
    self.pList = [];
    self.dList = [];
    self.file = file;
    self.parse()

  def parse(self):
    with open(self.file, "r") as icdhelper:
      for line in icdhelper:
        sArr = line.split()
        self.pList.append([sArr[0], sArr[4], sArr[2], sArr[3], sArr[6], sArr[7]])

temp0.txt

0 1 2 3 4 5 6 7 8 9

temp1.txt

0 1 2 3 4 5 6 7 8 9

然后你可以使用上面的类,如下所示:

import GCCCOMPARE
somevariable = GCCCOMPARE.GCCCOMPARE(["temp0.txt","temp1.txt"])
desired_dictonary = somevariable.GCCDICT

输出是

desired_dictionary = {0: [['0', '4', '2', '3', '6', '7']], 1: [['0', '4', '2', '3', '6', '7']]}
于 2013-09-27T18:11:57.010 回答