为什么Python os.path.isfile似乎忽略某些文件类型?
这是一个在Unix系统(比如Mac)上运行的简单脚本,它似乎只返回某些文件的结果为真。可是我搞不清楚为什么会这样:
workdir = '/Volumes/place/sub place'
def myFunc(bla, dir, flist):
for f in flist:
print f, os.path.isfile(f)
os.path.walk(workdir,myFunc,None)
返回结果是:
tests.py False
utils.py False
utils.pyc False
writeXmlForMpgInPath.py False
.DS_Store True
Playout False
Playout Masters False
Projects False
ProRes Masters False
Source False
Sydney Playout Masters False
Web Preview False
.AU009644-M.xml.swp False
.DS_Store True
.DS_Store True
.DS_Store True
.DS_Store True
1 个回答
4
你用这个函数的方式不对:
workdir = '/Volumes/place/sub place'
def myFunc(_, dir, flist):
for f in flist:
fpath = os.path.join(dir, f) # need to make a full path first
print f, fpath, os.path.isfile(fpath)
os.path.walk(workdir,myFunc,None)
另外,看看 os.walk
,这个更好用。