Я пытаюсь рекурсивно перебрать каталоги и подкаталоги, чтобы найти все файлы в родительском каталоге.
Это для Python 3. Я попытался проверить, является ли данный путь каталогом или файлом. Если это файл, я добавляю путь к списку, а если это каталог, я вызываю функцию обратно к нему, чтобы он мог добавить любые файлы в этом списке, чтобы получить полный список путей к файлам в первом каталоге.
import os,csv,json
def find_file(path):
paths = []
if os.path.isdir(path):
cont = os.listdir(path)
for x in cont:
if os.path.isfile(os.path.join(path,x)):
if x.startswith("."):
continue
paths.append(os.path.join(path,x))
if os.path.isdir(os.path.join(path,x)):
find_file(os.path.join(path,x))
else:
paths.append(path)
return(paths)
Что происходит, так это то, что он возвращает все элементы файла из непосредственного материнского каталога, но если в материнском каталоге есть каталоги, ни один из файлов из этого каталога не окажется в списке.