что я бы сделал, это:
Итерация по каталогам рекурсивно. Имейте счетчик уровня глубины, на котором вы находитесь. Каждый раз, когда вы находите новый каталог, который имеет глубину> = ваш текущий счетчик. сохраните новый путь и установите счетчик (для>).
Таким образом, вы должны запустить все подкаталоги один раз, и в конце вы получите путь к последней папке.
Затем выполните проверку файла в этом пути.
Попробуйте это:
path = 'To:\\Be\\Set'
counter = 0
def getFile(path, counter, result):
counterTmp = counter
list = os.listdir(path)
print (path)
#print (list)
for item in list:
if (os.path.isdir(path +"\\"+ item)):
if (len(os.listdir(path +"\\"+ item)) > 0):
result, counter = getFile(path+"\\"+item, counterTmp + 1, result)
elif (counterTmp >= counter):
result = path
return result, counterTmp
def checkFiles(path, setToCheck):
list = os.listDir(path)
result = []
for file in list:
if (file in setToCheck)
result.append(file)
return result
path, counter = getFile(path, 0, '')
println(path)
setToCheck = set(["toBeFilled"])
println(checkFiles(path, setToCheck))