Добавить в список, только если все файлы существуют в папке? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть эта папка: sa

, в котором есть папки a, b, c. Эти папки имеют папки:

PST и DBOUND.

Если, например, папка b имеет пустую папку pst и существует dbounds, следующий код НЕ ДОЛЖЕН добавлять содержимое из этой папки и пропустить его.

код:

import geopandas as gpd
from glob import glob

ps=[]
db=[]
for i in glob(r'C:\Users\user\Desktop\sa' + '**/*/*/*', recursive=True):
    if i.endswith('PST.shp'):
        ps.append(i)
    if i.endswith('DBOUND.shp'):
        db.append(i)

Как сделать так, чтобы он не добавлялся из папки, если в их подпапках пустые папки PST или DBOUND? и добавлять только из папок, в которых есть все необходимые подпапки?

Пояснение

Чтобы помочь вам понять: Если все папки a и b в порядке, возвращается:

C:\Users\user\Desktop\sa\a\DBOUND\DBOUND.shp
C:\Users\user\Desktop\sa\a\PST\PST.shp
C:\Users\user\Desktop\sa\b\DBOUND\DBOUND.shp
C:\Users\user\Desktop\sa\b\PST\PST.shp

Если c имеет пустые папки PST или DBOUND, он не должен отображаться в списке вообще. Следует пропустить папку и не добавлять ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...