gpt4 book ai didi

python - 如何仅列出 Python 中的顶级目录?

转载 作者:IT老高 更新时间:2023-10-28 21:06:36 26 4
gpt4 key购买 nike

我希望能够仅列出某个文件夹中的目录。这意味着我不想列出文件名,也不需要额外的子文件夹。

让我们看看一个例子是否有帮助。在当前目录中,我们有:

>>> 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']

但是,我不想列出文件名。我也不想要像\Lib\curses 这样的子文件夹。基本上我想要的适用于以下内容:

>>> for root, dirnames, filenames in os.walk('.'):
... print dirnames
... break
...
['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'Scripts', 'tcl', 'Tools']

但是,我想知道是否有更简单的方法可以实现相同的结果。我的印象是,仅使用 os.walk 来返回顶层是低效/太多的。

最佳答案

os.walk

使用 os.walknext项目功能:

next(os.walk('.'))[1]

对于 Python <=2.5 使用:

os.walk('.').next()[1]

这是如何工作的

os.walk 是一个生成器,调用 next 将获得 3 元组(dirpath、dirnames、filenames)形式的第一个结果。因此 [1] 索引仅返回该元组中的 dirnames

关于python - 如何仅列出 Python 中的顶级目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com