为什么python os.path.isfile似乎忽略某些文件类型?
问题描述:
unix系统上的简单脚本(Mac)似乎只返回某些文件。想不通为什么:为什么python os.path.isfile似乎忽略某些文件类型?
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
答
您正在使用的功能失常:
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
,它的更好。
非常感谢你 – 2010-06-25 19:53:54