#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. Спасибо! Именно то, что я искал.