Yalnızca bazı klasörlerin içindeki dizinleri listeleyebilmek istiyorum. Bu, dosya adlarının listelenmesini istemediğim veya ek alt klasörler istemediğim anlamına gelir.
Bakalım bir örnek yardımcı olacak mı? Mevcut dizinde biz var:
>>> 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']
Ancak, dosya adlarının listelenmesini istemiyorum. \ Lib \ curses gibi alt klasörler de istemiyorum. Esasen istediğim şey aşağıdakilerle çalışıyor:
>>> for root, dirnames, filenames in os.walk('.'):
... print dirnames
... break
...
['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'Scripts', 'tcl', 'Tools']
Bununla birlikte, aynı sonuçları elde etmenin daha basit bir yolu olup olmadığını merak ediyorum. Os.walk'u yalnızca en üst seviyeye dönmek için kullanmanın verimsiz / çok fazla olduğu izlenimini edindim.