Как получить всю папку только в заданном пути в python? Я использую этот код для получения всех файлов в данной папке. Есть ли способ получить только папки? a = os.listdir('Tools') Ответ 1 import os.path dirs = [d for d in os.listdir('Tools') if os.path.isdir(os.path.join('Tools', d))] Ответ 2 Чтобы распечатать только папки print os.walk(DIR_PATH).next()[1] Чтобы распечатать только файлы print os.walk(DIR_PATH).next()[2] Ответ 3 Другой метод: dirs = [entry.path for entry in os.scandir('Tools') if entry.is_dir()] Ответ 4 import os def ld(val): return next(os.walk(val))[1] # Thank you @eryksun for fold in ld('/'): print(fold) Ответ 5 Используйте os.walk(DIR_PATH).next()[1]. Примечание. os.walk(DIR_PATH).next() создает кортеж длиной 3, где os.walk(DIR_PATH).next()[0] является DIR_PATH os.walk(DIR_PATH).next()[1] - это список всех папок в DIR_PATH os.walk(DIR_PATH).next()[2] - это список всех файлов в DIR_PATH.
Ответ 1 import os.path dirs = [d for d in os.listdir('Tools') if os.path.isdir(os.path.join('Tools', d))]
Ответ 2 Чтобы распечатать только папки print os.walk(DIR_PATH).next()[1] Чтобы распечатать только файлы print os.walk(DIR_PATH).next()[2]
Ответ 4 import os def ld(val): return next(os.walk(val))[1] # Thank you @eryksun for fold in ld('/'): print(fold)
Ответ 5 Используйте os.walk(DIR_PATH).next()[1]. Примечание. os.walk(DIR_PATH).next() создает кортеж длиной 3, где os.walk(DIR_PATH).next()[0] является DIR_PATH os.walk(DIR_PATH).next()[1] - это список всех папок в DIR_PATH os.walk(DIR_PATH).next()[2] - это список всех файлов в DIR_PATH.