此代码从另一个程序获取数据并查看系统驱动器或任何其他驱动器,并查看可能找到匹配数据集的位置。这是必要的,因为有时候在分析过程中,我们必须找到原始数据集并复制一些未在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中创建新列表的位置。或者,如果我可以创建一个新列表,每个迭代也可以工作。
答案 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)