最近需要处理大量影像文件,但之前处理的文件存在位置比较繁琐,于是就写了一个脚本来批量查找所需文件。
我的目标文件目录为:L:\ZJ_Landsat\LC81220442013221LGN00\Preprocessing\FLAASH
import os
rootDir = "L:\ZJ_Landsat"
newlist = []
#获取rootDir目录下所有影像文件内Preprocessing下FLAASH下的.dat影像文件路径
def getFileList(folderPath):
assert os.path.exists(folderPath)
assert os.path.isdir(folderPath)
dir_file_list = os.listdir(folderPath) #列出目录下的所有目录和文件
for line in dir_file_list:
filepath1 = os.path.join(rootDir,line)
if os.path.isdir(filepath1):#如果filename是目录,则列出该目录下的所有目录和文件
for item in os.listdir(filepath1):
if item == "Preprocessing":
filepath2 = os.path.join(filepath1,item)
if os.path.isdir(filepath2):#Preprocessing
for dirname in os.listdir(filepath2):
if dirname == "FLAASH":
filepath3 = os.path.join(filepath2,dirname)
if os.path.isdir(filepath3):#FLAASH
for filelist in os.listdir(filepath3):
filepath4 = os.path.join(filepath3,filelist)
(filepath,tempfilename) = os.path.split(filepath4)
(shotname,extension) = os.path.splitext(tempfilename)
if extension == ".dat":
newlist.append(filepath4)
return newlist
datFileList = getFileList(rootDir)