нужно найти только subdirs без верхнего dir - PullRequest
0 голосов
/ 05 апреля 2020

Я уверен, что ответ уже есть, но я не смог его найти, потому что я действительно не очень понимаю код Python. Мне нужно найти все subDirs (subDir_path / name) в каталоге (C: \ 01), я нашел код, который я понимаю, но он также печатает Home dir / path (C: \ 01) и subDir путь / имя. Это мой первый пост здесь. Заранее спасибо. Вот код:

import os

given_path = 'C:\\01'
for path, dirs, files in os.walk(given_path):
    print ("This is path to:  " + path)
    for f in files:
        print ("These are files:"       +f)
    for d in dirs:
        print("These are Directories:"   + d) 

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020
from pathlib import Path
dirs = list(map(lambda item: str(item), filter(lambda item: item.is_dir(), Path("c:\\01").rglob("*"))))
0 голосов
/ 05 апреля 2020

IIU C: Вы можете использовать os.listdir, который возвращает список, содержащий имена записей в каталоге, заданном путем. Вы можете использовать это:

import os

given_path = 'C:\\01'
for filename in os.listdir(given_path):
    filepath = os.path.join(given_path, filename)
    if os.path.isdir(filepath):
        print("SubDirectory name:", filename) 
        print("SubDirectory path:", filepath) 
...