Python: проверить наличие файла не в каталоге по заданному пути - PullRequest
0 голосов
/ 29 октября 2018

У меня есть каталог с большим количеством файлов (~ 1.4M) из дампа данных, и я хочу отсортировать их в подкаталоги для создания пакетов меньшего размера. Из-за большого количества файлов в каталоге, который я хочу пакетировать, я хочу избежать необходимости os.listdir(...) всего в каталоге, а затем проверить все результаты, если они являются каталогом или нет.

Моя идея до сих пор состоит в том, чтобы использовать os.walk(...), чтобы проверить это.

Есть ли более питонный / эффективный способ добиться того, чего я хочу?

1 Ответ

0 голосов
/ 29 октября 2018

В качестве альтернативы os.listdir() вы можете использовать os.scandir() на Python 3.5+. Это возвращает итератор DirEntry объектов и не возвращается в подкаталоги, как в случае с os.walk.

Вот пример из документов :

for entry in os.scandir(path):
   if not entry.name.startswith('.') and entry.is_file():
       print(entry.name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...