有没有办法在Python中获取目录下的所有目录而不是文件?

1 投票
4 回答
533 浏览
提问于 2025-04-15 11:05

这个链接里用了一种自定义的方法,但我只是想看看在Python 2.6中有没有一个简单的方法可以做到这一点?

4 个回答

1

我觉得没有这样的办法。因为文件夹也是一种文件,所以你得先请求所有的文件,然后再一个个检查它们是不是文件夹。

3

如果a_directory是你想查看的文件夹,那么你可以这样做:

next(f1 for f in os.walk(a_directory))

关于os.walk()的说明:

这个函数可以通过遍历文件夹树来生成文件名,你可以选择从上到下或者从下到上进行遍历。对于树中每一个文件夹(包括你指定的文件夹),它会返回一个包含三个部分的元组:文件夹路径、文件夹名称和文件名称。

5

没有内置的功能可以只列出文件,但其实用几行代码就能很简单地实现:

def listfiles(directory):
    return [f for f in os.listdir(directory) 
              if os.path.isdir(os.path.join(directory, f))]

编辑: 已修正,感谢 Stephan202

撰写回答