如何在Python目录下仅列出常规文件(不包括目录)

clw*_*wen 3 python filesystems

可以os.listdir('somedir')用来获取所有文件somedir.但是,如果我想要的只是常规文件(不包括目录),就像find . -type fshell下的结果一样.

我知道可以[path for path in os.listdir('somedir') if not os.path.isdir('somedir/'+path)]用来实现与此相关问题类似的结果:如何在Python中仅列出顶级目录?.只是想知道是否有更简洁的方法这样做.

zee*_*kay 7

你可以使用os.walk,它返回路径,文件夹和文件的元组:

files = next(os.walk('somedir'))[2]
Run Code Online (Sandbox Code Playgroud)