Quiero ser capaz de enumerar solo los directorios dentro de alguna carpeta. Esto significa que no quiero que aparezcan los nombres de los archivos, ni quiero otras subcarpetas.¿Cómo enumerar solo los directorios de nivel superior en Python?
Veamos si un ejemplo ayuda. En el directorio actual tenemos:
>>> 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']
Sin embargo, no quiero los nombres de los archivos listados. Tampoco quiero subcarpetas como \ Lib \ maldiciones. Esencialmente lo que quiero funciona con las siguientes:
>>> for root, dirnames, filenames in os.walk('.'):
... print dirnames
... break
...
['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'Scripts', 'tcl', 'Tools']
Sin embargo, me pregunto si hay una manera más sencilla de lograr los mismos resultados. Me da la impresión de que usar os.walk solo para devolver el nivel superior es ineficiente/demasiado.
Esto requiere mucho procesamiento vs muy simple os.walk() .next() [1] –