将来自不同来源的数据分成列表进行分析

时间:2016-01-28 15:19:34

标签: python list python-2.7 binary

此代码从另一个程序获取数据并查看系统驱动器或任何其他驱动器,并查看可能找到匹配数据集的位置。这是必要的,因为有时候在分析过程中,我们必须找到原始数据集并复制一些未在Powershell中复制的丢失文件(出于某种原因或其他原因)。系统上有许多驱动器和许多数据集。

我遇到的问题是,每次代码生成用于解析的数据集(来自其中一个驱动器)时,它只会将新数据集附加到前一个数据集的末尾。我一直试图将每个新列表分成列表列表,但没有取得任何成功。它很好地扫描每个驱动器,但附加是我在此代码中处理的问题。无论哪种方式,我只需要分别从每个驱动器分析数据集。

def binarySearch():
    n = 0
    groupList = []
    dataList = [] ## tried making list of lists using this list
    setFolder = []
    driveList = []
    driveList.append('Z:\\\\')
    driveList.append('Q:\\\\')
    driveList.append('H:\\\\')
    driveList.append('E:\Test Search')
    for drives in driveList:
        groupList.append(drives)
    print groupList
    for items in groupList:
        os.chdir(items) ## creates a list of lists for each drive
        print 'Scanning drive:',os.getcwd()
        for line in os.listdir(items):
            if len(line)==3 and line != 'sec':
                setFolder.append(int(line)) ##appends new dataset to old one
        setFolder.sort()
        n = n + 1
        continue

我很确定这行代码需要发生一些事情:

 setFolder.append(int(line)) ##appends new dataset to old one

从现有列表setFolder中创建新列表的位置。或者,如果我可以创建一个新列表,每个迭代也可以工作。

1 个答案:

答案 0 :(得分:1)

您只是追加到setFolder,从未添加到dataList。你可能想做类似

的事情
for items in groupList:
    setFolder = []
    os.chdir(items) ## creates a list of lists for each drive
    print 'Scanning drive:',os.getcwd()
    for line in os.listdir(items):
        if len(line)==3 and line != 'sec':
            setFolder.append(int(line)) ##appends new dataset to old one
    setFolder.sort()
    dataList.append(setFolder)