Я пытаюсь сделать что-то во всех файлах по заданному пути. Я не хочу заранее собирать все имена файлов, а затем что-то делать с ними, поэтому я попробовал это:
import os
import stat
def explore(p):
  s = ''
  list = os.listdir(p)
  for a in list:
    path = p + '/' + a
    stat_info = os.lstat(path )
    if stat.S_ISDIR(stat_info.st_mode):
     explore(path)
    else:
      yield path
if __name__ == "__main__":
  for x in explore('.'):
    print '-->', x
Но этот код пропускает каталоги, когда он ударяет их, вместо того, чтобы уступать их содержимому. Что я делаю неправильно?