我是Python的新手,我只是很难将这些表分开。
使用此代码扫描文件时(例如,mypath =“C:/”):
“common”是包含扩展名的表格(例如“ .exe”,“ .pdf”)
cFiles = []
cFilesFull = []
for f in common:
if glob.glob(mypath + f):
print(glob.glob(mypath + f))
cFiles.append(get_file_name(glob.glob(mypath + f)[0], 0))
cFilesFull.append(glob.glob(mypath + f))
我最终得到了这个表的结果,cFilesFull:
[['C:/install.exe'], ['C:/install.res.1028.dll', 'C:/install.res.1031.dll', 'C:/install.res.1033.dll', 'C:/install.res.1036.dll', 'C:/install.res.1040.dll', 'C:/install.res.1041.dll', 'C:/install.res.1042.dll', 'C:/install.res.2052.dll', 'C:/install.res.3082.dll'], ['C:/VC_RED.MSI'], ['C:/eula.1028.txt', 'C:/eula.1031.txt', 'C:/eula.1033.txt', 'C:/eula.1036.txt', 'C:/eula.1040.txt', 'C:/eula.1041.txt', 'C:/eula.1042.txt', 'C:/eula.2052.txt', 'C:/eula.3082.txt'], ['C:/vcredist.bmp'], ['C:/globdata.ini', 'C:/install.ini']]
有没有办法可以将所有值添加到一个表中,而不是单独的表?
答案 0 :(得分:0)
您可以使用extend
代替append
cFiles, cFilesFull = [], []
for f in common:
if glob.glob(mypath + f):
print(glob.glob(mypath + f))
cFiles.extend(get_file_name(glob.glob(mypath + f)[0], 0))
cFilesFull.extend(glob.glob(mypath + f))
这会将每个项目添加到列表的顶层。
append
vs extend
list
s >>> l = [1,2,3]
>>> l.append([4,5])
>>> print(l)
>>> [1, 2, 3, [4, 5]]
>>> l.extend([6, 7, 8])
>>> print(l)
>>> [1, 2, 3, [4, 5], 6, 7, 8]
答案 1 :(得分:0)
glob.glob
返回一个序列。不是将此序列附加到cFilesFull
列表,而是扩展列表。
cFilesFull.extend(glob.glob(mypath + f))