所以我已经看过很多关于这个主题的文章,但是答案到处都是,我只是想找到一个最有效的方法来遍历一个maxdepth为1的目录。即如果给出了“/ home” / user / desktop / test /“,我希望能够操作和使用该目录中的所有目录,但不能更低。
我看到有人说要使用walklevel()
功能,使用os.listdir()
一些技巧,或使用.next()
的{{1}}功能。什么是Pythonic /高效的方法呢?
全部谢谢!
答案 0 :(得分:1)
嗯,最Pythonic和最有效(关于时间)可能不是一回事,而“Pythonic”通常可以转化为意见问题,但最直接的,Pythonic方式可以做到这一点在我看来如下:
import os
def contained_dirs(dir):
return filter(os.path.isdir,
[os.path.join(dir, f) for f in os.listdir(dir)])
这是直接在目标目录中获取所有目录列表的一种非常简单的方法。这就是你要找的东西吗?
答案 1 :(得分:0)
如果您只需要给定路径中的目录而没有其他,则需要列出路径是什么,并检查您何时访问目录
top_level = '/home/user/desktop/test/'
for path in os.listdir(top_level):
directory = os.path.join(top_level, path)
if os.path.isdir(directory)
do_something_with_dir(directory)