我运行此变量,该变量包含脚本打开存在于其中但文件出现无序的文件的目录:
path_files
['C:\\Users\\user\\Desktop\\AUT\\testb\\AST\\AST.shp',
'C:\\Users\\user\\Desktop\\AUT\\testb\\PSA\\PSA.shp',
'C:\\Users\\user\\Desktop\\AUT\\testa\\AST\\AST.shp',
'C:\\Users\\user\\Desktop\\AUT\\testa\\PSA\\PSA.shp']
因为testa
在tastb
之前,所以它通常按字母顺序显示它们
但现在,即使在文件夹中修改的日期在文件夹中检查后似乎也不起作用。你知道吗
我不知道如何使它们总是出现:首先是testa
,然后是testb
文件。我想在测试后加上“a”,在下一个测试中加上“b”,就可以确保顺序是这样的。但显然不是这样。你知道吗
信息:如果你想知道路径是如何被收集的,那就从一个从主文件夹读取路径的脚本中获取。以前它能正确显示,但现在不行了
获取文件的脚本
def splitpath(path):
folders = []
while 1:
path, folder = os.path.split(path)
if folder != "":
folders.append(folder)
else:
if path != "":
folders.append(path)
break
folders.reverse()
return folders
rootfolder = r'C:\Users\user\Desktop\AUT'
shapelist = []
for path, subdirs, files in os.walk(rootfolder):
for name in files:
if name.endswith('.shp'):
shapelist.append(os.path.join(path, name))
#List all subfolders
subfolders = set(map(lambda x:splitpath(x)[-3], shapelist))
#Create list of sublists where each sublist are the shapefiles in that subfolder
grouped_shapefiles = [[y for y in shapelist if splitpath(y)[-3]==x] for x in subfolders]
答案是把清单整理一下。通过这样做,列表最初的任何顺序都将变为理想的排序结果。你知道吗
相关问题 更多 >
编程相关推荐