如何在Python中告诉目录中的文件?

8 python directory file

当使用os.listdir方法时,我需要告诉结果列表中的哪个项目是目录或只是文件.

当我不得不浏览此列表中的所有目录,然后在每个目录中添加一个文件时,我遇到了一个问题.

有没有办法浏览此列表并从中删除所有文件?如果无法使用os.listdir,我应该使用什么方法呢?

谢谢.

Dav*_*d Z 18

使用os.path.isdir过滤掉的目录.可能是类似的东西

dirs = filter(os.path.isdir, os.listdir('/path'))
for dir in dirs:
    # add your file
Run Code Online (Sandbox Code Playgroud)

  • 提到`listdir()`不会返回给定路径的文件和目录(在示例中为`'/ path'`),但是只返回文件名.我认为`isdir()`/`isfile()`等相对于当前工作目录的检查,所以`filter()`可能不起作用,除非你把`listdir`的返回值转换成路径. (5认同)

nos*_*klo 7

这可能会更快:

current, dirs, files = os.walk('/path').next()
Run Code Online (Sandbox Code Playgroud)

目录列表将在dirs变量中.