所以我确定这是一个愚蠢的问题,但我查看了Python的文档并尝试了几个Google代码,但没有一个有效.
似乎以下应该工作,但它返回"False"为我的目录/ foo/bar我有3项:1文件夹"[文件夹]",1文件"测试"(没有扩展名),和1文件"测试py"为.
我希望有一个脚本可以区分文件夹和一堆函数的文件,但我无法找出任何有用的东西.
#!/usr/bin/python
import os, re
for f in os.listdir('/foo/bar'):
print f, os.path.isdir(f)
Run Code Online (Sandbox Code Playgroud)
目前为所有内容返回false.
这是因为listdir()返回文件的名称/foo/bar.当您稍后执行os.path.isdir()其中一个操作时,操作系统会相对于当前工作目录解释它,该工作目录可能是您的脚本所在的目录,而不是/foo/bar,它可能不包含指定名称的目录.不存在的路径不是目录,因此isdir()返回False..
使用完整路径名.最好的方法是使用os.path.join,例如,os.path.isdir(os.path.join('/foo/bar', f)).