Я определил функцию в Python 3 ...рекурсивная функция не рекурсию
>>> import os
>>> def find(path):
... if not os.path.isdir(path):
... return []
... out_list = []
... for f in os.listdir(path):
... if os.path.isdir(f):
... for g in find(f):
... out_list.append(g)
... else:
... out_list.append(f)
... return out_list
...
Похоже, это будет сползать вниз дерево path
и список всех файлов (для меня во всяком случае), но когда я выполнить его ...
>>> find('..')
['CDB', 'dv', 'DataIntegrityUtility', 'cdb', 'libvrs']
Все результаты представлены в каталогах, содержащих файлы. Разве там не будет больше?
Почему бы не заставить 'find' генератор и' давать' файлы, как вы их находите? Код будет проще и эффективнее по памяти. И в то время, когда у вас должен быть список, вы можете просто называть его «list()». – iCodez