Поиск подкаталогов в Python

#python #directory #operating-system #subdirectory

#python #каталог #операционная система #подкаталог

Вопрос:

Я хочу найти подкаталоги в Python для личного проекта с уловом. Я предполагаю, что я бы использовал что-то вроде os.walk() , но каждый экземпляр, который я могу найти с его участием, использует предопределенную строку с указанием местоположения папки для просмотра. Например, этот код

 import os
 
rootdir = 'path/to/dir'
for rootdir, dirs, files in os.walk(rootdir):
    for subdir in dirs:
        print(os.path.join(rootdir, subdir))
 

 

включает в себя установку определенного rootdir. Я этого не хочу. Вместо этого я хочу просто посмотреть в файле, в котором выполняется код. Если я запускаю code.py в c:/users/me / он должен выполнить поиск во всех подкаталогах этого местоположения. Если я перемещу код в другую папку, он должен выполнить поиск в подкаталогах этой папки. Надеюсь, это имеет смысл.

Комментарии:

1. Похоже, вы просто хотите использовать os.getcwd() как rootdir.

Ответ №1:

Скрипты могут видеть свое собственное имя файла в __file__ атрибуте. Вы можете использовать это, чтобы найти каталог скрипта и сделать его основой поиска.

 import os
root = os.path.split(os.path.realpath(__file__))[0]
print(root)
for rootdir, dirs, files in os.walk(root):
    for subdir in dirs:
        print(os.path.join(rootdir, subdir))
 

Комментарии:

1. Спасибо! Именно то, что я искал.