Chcę mieć możliwość wyświetlenia tylko katalogów znajdujących się w jakimś folderze. Oznacza to, że nie chcę, aby nazwy plików były wyświetlane, ani nie chcę dodatkowych podfolderów.
Zobaczmy, czy przykład pomoże. W aktualnym katalogu mamy:
>>> os.listdir(os.getcwd())
['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'mod_p
ython-wininst.log', 'NEWS.txt', 'pymssql-wininst.log', 'python.exe', 'pythonw.ex
e', 'README.txt', 'Removemod_python.exe', 'Removepymssql.exe', 'Scripts', 'tcl',
'Tools', 'w9xpopen.exe']
Jednak nie chcę, aby nazwy plików były wymienione. Nie chcę też podfolderów, takich jak \ Lib \ curses. Zasadniczo to, czego chcę, działa z następującymi:
>>> for root, dirnames, filenames in os.walk('.'):
... print dirnames
... break
...
['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'Scripts', 'tcl', 'Tools']
Zastanawiam się jednak, czy istnieje prostszy sposób na osiągnięcie takich samych wyników. Mam wrażenie, że używanie os.walk tylko do powrotu do najwyższego poziomu jest nieefektywne / zbyt duże.